Professor John McCarthy
Father of AI


This is the repository of articles written by John.

Hide Show descriptions,
, show all articles

Artificial Intelligence, Logic and Formalizing Common Sense

A position paper about the relations among artificial intelligence (AI), mathematical logic and the formalization of common-sense knowledge and reasoning.

What has AI in Common with Philosophy?

'Artificial Intelligence and Philosophy' was given at Aaron Sloman's Symposium on philosophy and AI at IJCAI-95. The present version is somewhat improved.

The Philosophy of AI and the AI of Philosophy

Artificial intelligence (AI) has closer scientific connections with philosophy than do other sciences, because AI shares many concepts with philosophy, e.g. action, consciousness, epistemology (what it is sensible to say about the world), and even free will. This article treats the philosophy of AI but also analyzes some concepts common to philosophy and AI from the standpoint of AI.

ALGOL 48 and ALGOL 50: ALGOLic Languages in Mathematics

This article describes how to express programs with assignment statements and conditional GOTOs in mathematical logic without any programming constructs used in Fortran and Algol.

Approximate Objects are Precise in Some Contexts

Concepts that are ill-defined in general can be precise in limited contexts. We propose applications for this idea in AI and in philosophy.

Challenges to Machine Learning: Relations between reality and appearance

Machine learning research has had its goal the discovery of relations among observations. This is inadequate for science, because there is a reality behind appearance. This article discusses how atoms were discovered, as an example of discovering the reality behind appearance.

Applications of Circumscription to Formalizing Common Sense Knowledge

This paper was published in Artificial Intelligence in 1986. It gives a better formulation of circumscription and emphasizes making certain functions and predicates variable.

Approximate Objects and Approximate Theories

AI needs to deal with objects and predicates that don't admit if-and-only-if definitions. It also needs approximate theories and needs to study the relation between entities at different levels of approximation. This paper is in the Proceedings of KR-2000.

Ascribing Mental Qualities to Machines

This paper concerns what it means for a machine to have beliefs. This started the dispute about whether thermostats could be considered to have beliefs. It was published in 1979 in an obscure collection and reprinted in my 1990 book 'Formalizing Common Sense'.

What Artificial Intelligence needs from Symbolic Logic

Slides discussing what Artificial Intelligence needs from Symbolic Logic

AI Needs more Emphasis on Basic Research

AI Needs more Emphasis on Basic Research was published in AI Magazine in 1983 a a president's message when I was President of AAAI.

A Basis for a Mathematical Theory of Computation

This paper, first given in 1961, was published in 1963 in Computer Programming and Formal Systems, edited by P. Braffort and D. Hirschberg and published by North-Holland.

Actions and Other Events in Situation Calculus

This draft article presents a situation calculus formalism featuring events as primary and the usual actions as a special case.

The Common Business Communication Language

This paper, published in 1982, proposes a language for inter-business inter-computer communication. Most of the ideas in this paper have been re-invented in connection with electronic commerce, specifically in connection with XML.

The Mutilated Checkerboard in Set Theory

This paper was presented at the QED meeting in Warsaw in 1995 July. It is a proof in set theory that I think an interactive prover for heavy duty set theory should be able to accept. It uses for a different purpose the same problem as the previous paper.

Making Computer Chess Scientific

This essay is an outgrowth of my review of Monty Newborn's Kasparov versus Deep Blue: Computer Chess Comes of Age.

The Well-Designed Child

This 1996 article discusses the initial knowledge of the world that makes a baby more competent than a "Lockean baby" would be.

John Searle's Chinese Room Argument

This note is a refutation of that argument that computers can't be conscious.

Letter to Christian Physicists

A humorous June 1999 letter to Christians who also claim to be scientists.

Circumscription - A Form of Nonmonotonic Reasoning

This paper was published in Artificial Intelligence in 1980.

What AI Needs From Computational Linguistics

A short note on the need for programs that can translate natural language texts into collections of sentences in mathematical logical language.

Coloring Maps and the Kowalski Doctrine

Coloring Maps and the Kowalski Doctrine was a 1982 Stanford report. More is known about realizing the Kempe heuristic by making a Prolog that can run in an introspective mode, and I'll put in a note about it when I get a chance.

Concepts of Logical AI

Concepts of Logical AI has a paragraph each about each of approximately 50 concepts.

First Order Theories of Individual Concepts and Propositions

This paper was first published in Machine Intelligence 9 in 1979.

Making Robots Conscious of their Mental States

Many tasks will require computer programs to examine their own computational structures in ways like those involved in human consciousness and indeed self-consciousness.

Notes on Formalizing Context

Appeared in Proceedings of IJCAI - 1993. This version has an improvement in the way lifting above-theory is treated.

Useful Counterfactuals

Useful Counterfactuals by Tom Costello and John McCarthy is published in the ETAI (Electronic Transactions on Artificial Intelligence), Vol 3 (1999), Section A.

Creative Solutions to Problems

This paper was given at the AISB Workshop on Artificial Intelligence and Creativity, 1999 April 8 and 9.

Phenomenal Data Mining

Phenomenal Data Mining concerns finding relations between data and phenomena and not just relations within the data. There isn't much AI in the paper - yet, but the idea for phenomenal data mining has somewhat of a philosophical and AI origin.

Chess as the Drosophila of AI

A condensed version of an invited presentation exploring a number of 'Drosophila' and potential 'Drosophila' for AI

Elaboration Tolerance

This paper discusses making logical representations of facts that can accept various kinds of modifications easily.

Elephant 2000: A Programming Language Based on Speech Acts

This unpublished draft is a proposal for a new programming language, but it includes the mathematical theory of computation proposal for distinguishing input-output and accomplishment specifications, characterizes input and output statements as speech acts and allows reference to the past in programs.

Epistemological Problems of Artificial Intelligence

This talk summarized the epistemological problems I saw at that time (1977).

Basic Topics in Experimental Computer Science

This paper is a start on a report on experimental computer science (and its relationship to theoretical and applied computer science).

International Institute for Nuclear Explosions

We propose an International Institute for Nuclear Explosions which would conduct research in the scientific and technological uses of nuclear explosions.

Formalizing Context

A set of expanded notes on formalizing contexts as first class objects.

Free Will - Even for Robots

This paper, written for a special issue of the Journal of Experimental and Theoretical Artificial Intelligence devoted to philosophical questions. Robots will need to consider their own choices in a manner similar to that in which a human contemplates his own free will.

Simple Deterministic Free Will

This is a shorter paper than Free Will - Even for Robots. I think it gets to the essence of free will and formalizes it in two short situation calculus formulas.

The Intentionality of Financial Transaction Machines

A draft note exploring the question whether the design of a financial transaction machine would benefit from making it do intentional rule following.

Generality in Artificial Intelligence

A 1987 summary for the ACM to include in a volume of Turing Award lectures.

Overcoming Unexpected Obstacles

Overcoming unexpected obstacles is a note written in 1992 and 1993 describing an important kind of elaboration tolerance. A plan is shown to work by reasoning involving circumscribing a predicate occurs(e,s) asserting that the event e occurs in situation s. If a sentence is added asserting the occurrence of an event that defeats the plan and the circumscription is done again, the plan can no longer be shown to work. In our example, a revised plan including an action that overcomes the obstacle can be shown to work. There is a bug in handling the circumscription that I have not fixed.

Modality for Robots - Responses to Halpern and Wansing

An article addressing responses to my 1997 criticism of the expressiveness of modal logic.

Networks Considered Harmful - For Electronic Mail

This is a 1989 editorial for the CACM. Now that Internet is universally available, its considerations are mostly obsolete.

The Home Information Terminal - A 1970 View

This article was published in Man and Computer. Proc. int. Conf., Bordeaux 1970, pp. 48-57 (Karger, Basel 1972). I claim quite a few prophet points for it.

From Here to Human-Level AI

A roadmap to human-level AI presented developed from an invited talk at KR-96.

The Inversion of Functions Defined by Turing Machines

This paper introduced the notion of well-defined problem, but I became convinced that inverting computable functions in general is not a feasible way of doing AI.

Partial Formalizations and the Lemmings Game

An article on the features of the Lemmings computer game that make it suitable as a Drosophila for AI research.

History of Lisp

The history of LISP according to McCarthy's memory in 1978, presented at the ACM SIGPLAN History of Programming Languages Conference.

LISP - Notes on its Past and Future - 1980

This paper was published in 1980. I put it up since it mostly represents my present opinions. There are some 1999 footnotes.

The Little Thoughts of Thinking Machines

First published in Psychology Today in 1983, this is a popular article with no formulas.

A Logical AI Approach to Context

This paper responds to a request for a note on our approach to formalizing context in mathematical logic that can be compared with John Perry's situation semantics based approach to context. It appeared in a CSLI (Center for Studies in Linguistics and Information) publication.

Human-Level AI: The Logical Road

An incomplete draft of a book incorporating concepts of logical AI, philosophy, common sense reasoning, nonmonotonic reasoning, situation calculus, elaboration tolerance, approximate objects, consciousness and problem solving.

Programs with Common Sense

This paper, from 1958, was probably the first on logical AI, i.e. AI in which logic is the method of representing information in computer memory and not just the subject matter of the program.

Formalizing Context (Expanded Notes)

This paper contains expanded material on context. It is joint work with Sasa Buvac.

Some Philosophical Problems from the Standpoint of Artificial Intelligence

This is the basic paper on situation calculus. Joint work with Patrick J. Hayes.

Correctness of a Compiler for Arithmetic Expressions

This paper contains a proof of the correctness of a simple compiling algorithm for compiling arithmetic expressions into machine language. It may have been the first such formal proof.

Elaborating MCP (Part I)

Notes on the potential for using the Missionaries and Cannibals puzzle as a Drosophila for research in elaboration tolerance.

Modality, Si! Modal Logic, No!

This paper argues that there are better ways, especially for AI, of treating modalities than any kind of modal logic. It appeared in Studia Logica, volume 59, 1997.

On the Model Theory of Knowledge

This paper, by myself, M. Sato, T. Hayashi and S. Igarashi, was written in the late 1970s.

An Example for Natural Language Understanding and the AI Problems it Raises

I think this 1976 memorandum is of modern interest. The problems it raises haven't been solved or even substantially reformulated.

Situation Calculus with Concurrent Events and Narrative

This 1994 article was intended to be superseded by Combining Narratives by McCarthy and Costello. However, I have become attached to some of the constructions of the original article that were omitted from the new version.

Combining Narratives

This paper is by John McCarthy and Tom Costello. It was presented at KR-98 in Trento, Italy. A major feature is that sentences describing two independent narratives can be combined just by conjoining the sentences. Sentences can be added later to establish relations between them.

The Near Future - Advocacy and Predictions

Commentary on individual transportation and the environment.


A draft of a story by John McCarthy.

AI as Sport

This review of Computer Chess Comes of Age by Monty Newborn appeared in Science on 1997 June 6.

Criteria for Usefulness of Computers in Offices

This is a 1982 article. Its observations are mainly confirmed, but some of the measures it advocates are still not implemented.

Parameterizing Models of Propositional Calculus Formulas

It is often inadequate that a theory be consistent, i.e. have models. It should have enough models. We discuss parameterizing the set of models in the special case of propositional satisfiability.

Phenomenal Data Mining: From Data to Phenomena

Phenomenal data mining concerns establishing relations among the phenomena underlying data. This is paper updated for inclusion in the SIGKDD Explorations.

Philosophical and Scientific Presuppositions of Logical AI

This appeared in Logical Foundations for Cognitive Agents: Contributions in Honor of Ray Reiter, edited by H. J. Levesque and F. Pirri, Springer-Verlag, 1999.

Philosophical Premises of Logical AI

A collection of philosophical presuppositions and scientific premises of logical AI.

Making the Peaks Higher

A proposal to encourage great students to become even better.

The Future of Scientific Publication

Here are some ideas about the future of scientific publication. It discusses the advantages, technological problems and economic problems of getting all scientific publication on line. The document may be referenced, but it is subject to revision.

Formalization of Two Puzzles Involving Knowledge

Formalization of two Puzzles Involving Knowledge involves formalization of facts about knowledge including both knowing what and knowing that, how to assume and prove non-knowledge, joint knowledge and the effect of learning a fact on the set of facts then known. It uses the Kripke possible worlds formalism directly.

"Computer Chess" and Human Chess

An example of a problem quickly solvable by present chess programs that illustrates the use of ideas required for human level intelligence. The solution to the problem requires the idea of making two threats with one line of play - an idea useful in more domains than chess.

The Robot and the Baby

This is a science fiction story about what household robots might look like.

Some Sitcalc Formulas for Robot Soccer

A collection of situation calculus formulas relating to robot soccer.

Roofs and Boxes

Roofs and Boxes is an example to illustrate that extrapolating past experience to predict the future usually involves recognitions of phenomena in the world and not just the sequence of inputs. The problem is too hard for now.

The Sayings of John McCarthy

Here are some of my sayings, which may appeal to some.

Notes on Self-Awareness

Here are the slides presented at the DARPA conference on self-awareness in 2004 April

Actions and Other Events in Situation Calculus

This is a new (2001 August) article on situation calculus. It differs from previous approaches in three ways. It distinguishes internal events that happen spontaneously from external events (actions). It also treats processes, e.g. a buzzer, that do not settle down. The non-monotonic reasoning is circumscription done situation by situation.

Some Expert System Need Common Sense

Some Expert Systems Need Common Sense was first published in Computer Culture: The Scientific, Intellectual and Social Impact of the Computer, Heinz Pagels, ed. vol. 426, Annals of the New York Academy of Sciences.

Children's Crusade to Defend the Alfalfa Sprouts

There is nothing so cruel and anti-life as a vegetarian. A humorous essay.

Formalization of Strips in Situation Calculus

This is a 1985 note aimed at regarding STRIPS as a proof strategy for an interactive theorem prover using a situation calculus formalism. It doesn't quite get there.


A discussion of the potential for robotics to allow workers in developing nations to provide services in richer nations.

Teller, Heisenberg and the Bomb

This is a partial account of a conversation I had with Edward Teller, relevant to Teller's opinion of Heisenberg's role in the German quest for the atom bomb. It's certainly not worth an article, but maybe it will turn up when some historian does a Google search.

A Tough Nut for Proof Procedures

This Stanford AI Memo of 1964 illustrated the fact that a theorem may not be easy to prove if the proof involves an idea not expressible in the language in which the theorem is stated.

Towards a Mathematical Science of Computation

Towards a Mathematical Science of Computation was given at the congress IFIP-62 and published in the proceedings of that conference. It extends the results of A Basis for a Mathematical Theory of Computation which was first given in 1961.

An Everywhere Continuous Nowhere Differentiable Function

My 1953 proof that the function is everywhere continuous and nowhere differentiable is just 13 lines. I've added some remarks to the note in the American Mathematical Monthly.

What is AI?

I get many email inquiries about what artificial intelligence is all about. This is a first attempt at answering them on a layman's level or beginning student's level.

Todd Moody's Zombies

This invited commentary appeared in Volume 2, Issue 4 (1995) of the Journal of Consciousness Studies.