# Programs with common sense

@inproceedings{McCarthy1960ProgramsWC, title={Programs with common sense}, author={John McCarthy}, year={1960} }

Abstract : This paper discusses programs to manipulate in a suitable formal language (most likely a part of the predicate calculus) common instrumental statements. The basic program will draw immediate conclusions from a list of premises. These conclusions will be either declarative or imperative sentences. When an imperative sentence is deduced the program takes a corresponding action. These actions may include printing sentences, moving sentences on lists, and reinitiating the basic deduction…

## Topics from this paper

## 1,144 Citations

Reasoning About Effects of Concurrent Actions

- Computer ScienceJ. Log. Program.
- 1997

The logic programming formalization of situation calculus with concurrent actions presented in the paper is of independent interest and may serve as a test bed for the investigation of various transformations and logic programming inference mechanisms.

The Early Search for Tractable Ways of Reasoning about Programs

- Computer ScienceIEEE Ann. Hist. Comput.
- 2003

The main thesis is that the idea of reasoning about programs has been around since they were first written; the search has been to find tractable methods.

Representing Knowledge in A-Prolog

- Computer ScienceComputational Logic: Logic Programming and Beyond
- 2002

This paper reviews some recent work on declarative logic programming languages based on stable models/answer sets semantics of logic programs and demonstrates how the corresponding representations together with inference mechanisms associated with A-Prolog can be used to solve various programming tasks.

Solving mechanics problems using meta-level inference

- Computer ScienceIJCAI 1979
- 1979

It is argued that the technique of meta-level inference is a powerful technique for controlling search while retaining the modularity of declarative knowledge representations.

Towards a Theory of Elaboration Tolerance: Logic Programming Approach

- Computer ScienceInt. J. Softw. Eng. Knowl. Eng.
- 1996

An attempt at mathematical investigation of software development process in the context of declarative logic programming by arguing that the process of constructing lp-function representing a specification S should be supported by certain types of mathematical results which are called representation theorems.

Reasoning about Eeects of Concurrent Actions

- 1996

Gelfond and Lifschitz introduce a declarative language A for describing eeects of actions and deene translations of theories in this language into extended logic programs. The purpose of this paper…

Formal Methods in the Design of Question-Answering Systems

- Computer ScienceArtif. Intell.
- 1971

This paper argues that predicate calculus has significant advantages above competing deep structures if the way of using it is carefully selected, and gives hints on how various natural-language constructions can be encoded in a consistent way.

A Preliminary Study on Reasoning About Causes

- Mathematics
- 2003

This paper presents some preliminary work on causal reasoning about actions studying the causes of derived formulas in a given transition, in terms of subsets of the performed actions. We present a…

Non-Resolution Theorem Proving

- Mathematics, Computer ScienceArtif. Intell.
- 1977

This talk reviews those efforts in automatic theorem proving, during the past few years, which have emphasized techniques other than resolution. These include: knowledge bases, natural deduction,…

Logic programming and knowledge representation - The A-Prolog perspective

- Computer ScienceArtif. Intell.
- 2002

A short introduction to logic programming approach to knowledge representation and reasoning is given to help the reader to develop a ‘feel’ for the field's history and some of its recent developments.

## References

SHOWING 1-10 OF 15 REFERENCES

Empirical explorations of the logic theory machine: a case study in heuristic

- Computer ScienceIRE-AIEE-ACM '57 (Western)
- 1957

The Logic Theory Machine is devised to learn how it is possible to solve difficult problems such as proving mathematical theorems, discovering scientific laws from data, playing chess, or understanding the meaning of English prose.

The Inversion of Functions Defined by Turing Machines

- Computer Science
- 1956

This paper deals with the problem of designing a Turing machine which, when confronted by the number pair, computes as efficiently as possible a function g(m, r) such that fm(g( m, r)) = r.

Some Studies in Machine Learning Using the Game of Checkers

- Computer ScienceIBM J. Res. Dev.
- 1959

The studies reported here have been concerned with the programming of a digital computer to behave in a way which would be described as involving the process of learning.

A Learning Machine: Part I

- Computer ScienceIBM J. Res. Dev.
- 1958

It is proposed that the program of a stored-program computer be gradually improved by a learning procedure which tries many programs and chooses, from the instructions that may occupy a given location, the one most often associated with a successful result.

Steps toward Artificial Intelligence

- Computer ScienceProceedings of the IRE
- 1961

The discussion is supported by extensive citation of the literature and by descriptions of a few of the most successful heuristic (problem-solving) programs constructed to date.

Neural Models for Memory , ” h o c . lnternatl

- 1962

A Learning Machine, Part I IBM

- Journal of Research and Development
- 1958

The Syntax of Time Distinctions, Franciscan Studies

- The Syntax of Time Distinctions, Franciscan Studies
- 1958

Heuristic Aspects of the Artificial Intellegence Problem. Lincoln Laboratory Report,pp.34–55

- 1956