Logic for problem-solving
A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
The Semantics of Predicate Logic as a Programming Language
Journal of the ACM (JACM)
New Programming Languages for Artificial Intelligence Research
ACM Computing Surveys (CSUR)
A relational model of data for large shared data banks
Communications of the ACM
Natural Language Communication with Computers
Prolog - the language and its implementation compared with Lisp
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
Truth Maintenance Systems for Problem Solving
Truth Maintenance Systems for Problem Solving
The SNOBOL4 programming language
The SNOBOL4 programming language
Problem-Solving Methods in Artificial Intelligence
Problem-Solving Methods in Artificial Intelligence
ACM Transactions on Programming Languages and Systems (TOPLAS)
Pattern driven lazy reduction: A unifying evaluation mechanism for functional and logic programs
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Hi-index | 0.00 |
Exactly 100 years ago, the first-order predicate calculus was created and defined by Gottlob Frege. In the ensuing century his system was studied and refined by such logicians as Bertrand Russell, David Hilbert, Kurt Godel, Jacques Herbrand, Alonzo Church, and Alan Turing. In the 1950's and 60's attempts were made to use the results of these studies (especially those of Herbrand) in order to program computers to prove theorems automatically. These attempts introduced a new demon to the study of logic: ferocious computational complexity. The investigations of methods to avoid this demon led to the development of new systems of logic which are equivalent to the traditional systems, but are more suited to the efficient mechanical construction of proofs. The most notable among these is the resolution system of J. Alan Robinson [1965],[1979]. Cordell Green [1969] proposed the use of resolution systems in the construction of deductive question-answering systems, and this proposal eventually led Robert Kowalski [1974] to propose the so-called procedural interpretation of logic which forms the basis for the use of logic as a programming language.