Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/800177.810020acmconferencesArticle/Chapter ViewAbstractPublication Pagesacm-national-conferenceConference Proceedingsconference-collections
Article
Free access

Prolog

Published: 01 January 1979 Publication History

Abstract

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.

References

[1]
Bobrow, Daniel G., and Raphel, Bertram {1974} New programming languages for artificial intelligence research, Computing Surveys, 6, pp 153-174.
[2]
Clark, Keith {1978} Negation as failure, in Logic and Data Bases, H. Gallaire and J. Minker (eds.), New York: Plenum Press, 293-322.
[3]
Clark, Keith L. and van Emden, Maarten H. {1979} Consequence verification of flowcharts, Report CS-79-23, Department of Computer Science, University of Waterloo, Waterloo, Ontario, Canada.
[4]
Clark, Keith L. and McCabe, Frank {1979} IC-PROLOG, Proc. AISB.
[5]
Clark, Keith L. and Tarnlund, Sten-ake {1977} A First-order theory of data and programs, in Information Processing 77, B. Gilchrist (ed.), Amsterdam, North Holland, 939-944.
[6]
Codd, E. F. {1970} A relational model of data for large shared data banks, Comm. ACM, 13, pp. 377 - 387.
[7]
Colmerauer, Alain {1978} Metamorphosis grammars, in Natural Language Communication with Computers. Leonard Bloc (ed.), Lecture Notes in Computer Science #63, Berlin: Springer-Verlag, 133-189.
[8]
Colmerauer, A., Kanoui, H., Pasero, R., Roussel, P. {1973} Un Systeme de Comunication Homme-machine en Francaies. Rapport Groupe d'Intelligence Artificielle, Universite d'Aix-Marseille, Luminy.
[9]
Doyle, Jon {1978} Truth maintenance systems for problem solving, Report AI-TR-419, Artificial Intelligence Laboratory, Massachusetts Institute of Technology.
[10]
Maarten H. van Emden {1976} Verification conditions as programs, in Automata, Languages, and Programming, S. Michaelson and R. Milner (eds.), Edinburgh: Edinburgh University Press.
[11]
Programming in resolution logic, in Machine Intelligence 8, E.W. Elcock and D. Michie (eds.), Edinburgh: Edinburgh University Press.
[12]
Computation and Deductive Information Retrieval, in Formal Descriptions of programming Concepts, E.J. Neuhold (ed.), Amsterdam: North Holland.
[13]
van Emden, Maarten H and Kowalski, Robert A. {1976} The semantics of predicate logic as programming language, J. Assoc. Comp. Mach., 23, 733 - 742.
[14]
van Emden, Maarten H. and de Lucena, G.J. {1979} Predicate logic as a language for parallel programming, Faculty of Mathematics Report CS-79-15, University of Waterloo.
[15]
Green, Cordell {1969} Theorem-proving by resolution as a basis for question answering systems, in Machine Intelligence 4, B. Meltzer and D. Michie (eds.), Edinburgh: Edinburgh University Press.
[16]
Griswold, R.E., Poage, J.F., and Polonsky, I.P. {1968} The SNOBOL4 Programming Language, Englewood Cliffs, New Jersey: Prentice-Hall.
[17]
Hill, Robert {1974} LUSH-resolution and its completeness, DCL Memo 78, Department of Computational Logic, University of Edinburgh.
[18]
Kowalski, Robert {1974} Predicate logic as a programming language, Proc. IFIP 74, Amsterdam: North Holland, 556-574.
[19]
Logic for data description, in Logic and Data Bases, H. Gallaire and J. Minker (eds.), New York: Plenum Press, 77 103.
[20]
Logic for Problem Solving, New York: Elsevier- North Holland.
[21]
Kowalski, Robert, and Kuehner, Donald {1971} Linear resolution with selection function, Artificial Intelligence 2, 227-260.
[22]
Kellog, Charles, Klahr, Philip, and Travis, Larry {1978} Deductive planning and pathfinding for relational data bases, in Logic and Data Bases, H. Gallaire and J. Minker (eds.), New York: Plenum Press, 179 - 200.
[23]
Montague, Richard {1970} English as a formal language, in Linguaggi nella Societa e nella Tecnica, B. Visentini et al. (eds.), Milan: Edizioni di Comunita, 189 - 224; reprinted in: Formal Philosophy, Selected Papers of Richard Montague, R.H. Thomason (ed.), New Haven: Yale University Press, 1974, pp. 188 - 221.
[24]
Minker, Jack {1978} An experimental relational data base system based on logic, in Logic and Data Bases, H. Gallaire and J. Minker (eds.), New York: Plenum Press, 107 -147.
[25]
Nilsson, Nils J. {1971} Problem-Solving Methods in Artificial Intelligence, New York: McGraw-Hill.
[26]
Reiter, Raymond {1978} Deductive question-answering on relational data bases, in Logic and Data Bases, H. Gallaire and J. Minker (eds.), New York: Plenum Press, 149 - 177.
[27]
Roberts, Grant M. {1977} An implementation of PROLOG, M.Sc. Thesis, Dept. of Computer Science, University of Waterloo.
[28]
Roussel, P. {1975} PROLOG: Manuel e Reference et d'Utilisation. *Groupe d'Intelligence Artificielle, U.E.R. de Luminy, Universite d'Aix-Marseille.
[29]
Robinson, John Alan {1965} A machine-oriented logic based on the resolution principle, J. Assoc. Comput. Mach. 12, 23-41.
[30]
{1979}Logic: Form and Function, Edinburgh: Edinburgh University Press.
[31]
Warren, David H. D., Pereira, Fernando, and Pereira, Luis M. {1977} PROLOG: The language and its implementation compared with LISP, in Proc. Symp. on Artifical Intelligence and Programming Languages, Special Issue: SIGPLAN Notices, vol. 12, no. 8 (SIGART Newsletter, no. 64), 109-115.

Cited By

View all
  • (2019)Precise reasoning with structured time, structured heaps, and collective operationsProceedings of the ACM on Programming Languages10.1145/33605833:OOPSLA(1-30)Online publication date: 10-Oct-2019
  • (2019)DProf: distributed profiler with strong guaranteesProceedings of the ACM on Programming Languages10.1145/33605823:OOPSLA(1-24)Online publication date: 10-Oct-2019
  • (2019)Compiler fuzzing: how much does it matter?Proceedings of the ACM on Programming Languages10.1145/33605813:OOPSLA(1-29)Online publication date: 10-Oct-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ACM '79: Proceedings of the 1979 annual conference
January 1979
260 pages
ISBN:0897910087
DOI:10.1145/800177
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 1979

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)52
  • Downloads (Last 6 weeks)7
Reflects downloads up to 18 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Precise reasoning with structured time, structured heaps, and collective operationsProceedings of the ACM on Programming Languages10.1145/33605833:OOPSLA(1-30)Online publication date: 10-Oct-2019
  • (2019)DProf: distributed profiler with strong guaranteesProceedings of the ACM on Programming Languages10.1145/33605823:OOPSLA(1-24)Online publication date: 10-Oct-2019
  • (2019)Compiler fuzzing: how much does it matter?Proceedings of the ACM on Programming Languages10.1145/33605813:OOPSLA(1-29)Online publication date: 10-Oct-2019
  • (2019)Mergeable replicated data typesProceedings of the ACM on Programming Languages10.1145/33605803:OOPSLA(1-29)Online publication date: 10-Oct-2019
  • (2019)TLA+ model checking made symbolicProceedings of the ACM on Programming Languages10.1145/33605493:OOPSLA(1-30)Online publication date: 10-Oct-2019
  • (2019)Complete monitors for gradual typesProceedings of the ACM on Programming Languages10.1145/33605483:OOPSLA(1-29)Online publication date: 10-Oct-2019
  • (1985)Introductory Papers to Logic Programming and PrologLogic Programming10.1007/978-94-009-5044-3_1(1-9)Online publication date: 1985
  • (1984)Pattern driven lazy reductionProceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages10.1145/800017.800534(228-234)Online publication date: 15-Jan-1984

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media