Abstract
In the Computer Science literature, Prolog is usually characterized as a language for programming computers. That makes sense. Its inventors described Prolog as a programming language [14]; and its very name is an abbreviation for PROgrammation en LOGique (PROgramming in LOGic). Unfortunately, characterizing Prolog as primarily a programming language may be doing it a disservice. As argued in [5, 6] and elsewhere, it is also an excellent knowledge representation language. In fact, an argument can be made that Prolog’s main value lies not so much in programming as in knowledge representation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Carlson, P., Genesereth, M.: Insurance portfolio management as containment testing. In: ICAIL (2023)
Chandra, A.K., Merlin, P.M.: Optimal implementation of conjunctive queries in relational databases. In: Proceeding of the 9th Annual ACM Symposium on the Theory of Computing, pp. 77–90 (1977)
Chen, W., Swift, T., Warren, D.: Efficient top-down computation of queries under the well-founded semantics. J. Logic Program. 24(3), 161–201 (1995)
Clocksin, W.F., Mellish, C.S.: Programming in Prolog, 4th edn. Springer, New York (1994). https://doi.org/10.1007/978-3-642-97596-7
De Cat, B., Bogaerts, B., Bruynooghe, M., Janssens, G., Denecker, M.: Predicate logic as a modeling language: the IDP system. Declarative Logic Program. 279–323 (2018)
Gelfond, M., Leone, N.: Logic programming and knowledge representation. Artif. Intell. 138(1–2), 1 (2002)
Bassiliades, N., Gottlob, G., Sadri, F., Paschke, A., Roman, D. (eds.): RuleML 2015. LNCS, vol. 9202. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21542-6
Genesereth, M., Chaudhri, V.: Logic programming. Synth. Lect. Artif. Intell. Mach. Learn. (2020). https://doi.org/10.2200/S00966ED1V01Y201911AIM044
Genesereth, M.: Insurance portfolio management. Complaw Corner, Codex: The Stanford Center for Legal Informatics (2022). https://law.stanford.edu/2022/07/30/insurance-portfolio-management/
Hayes, P.: Computation and deduction. In: Proceedings Second Symposium on Mathematical Foundations of Computer Science, Czechoslovakian Academy of Sciences, Czechoslovakia, pp. 105–118 (1973)
Hinrichs, T.: Extensional reasoning. Ph.D. thesis, Computer Science Department, Stanford University (2007)
Kakas, A.C., Kowalski, R., Toni, F.: The role of abduction in logic programming. In: Gabbay, D.M., Hogger, C.J., Robinson, J.A. (eds.) Handbook of Logic in Artificial Intelligence and Logic Programming, vol. 5, pp. 235–324. Oxford University Press, Oxford (1998)
Kowalski, R., Kuehner, D.: Linear resolution with selection function. Artif. Intell. 2, 227–60 (1971)
Kowalski, R.: Predicate logic as a programming language. In: Proceedings of IFIP 1974, North Holland Publishing Company, Amsterdam, pp. 569–574 (1974)
Kowalski, R.: Algorithm = Logic + Control. Commun. ACM 22(7) (1979)
Kowalski, R., Sadri, F.: LPS - a logic-based production system framework (2009)
Kowalski, R., Sadri, F.: Integrating Logic Programming and Production Systems in Abductive Logic Programming Agents (2009)
Logical English as a Programming Language for the Law. ProLALA 22 (2022)
Lifschitz, V.: What is answer set programming? (PDF). In: Proceedings of the 23rd National Conference on Artificial Intelligence, vol. 3, pp. 1594–1597. AAAI Press, 13 July 2008
McCarthy, J.: Programs with common sense. In: Proceedings of the Teddington Conference on the Mechanization of Thought Processes, pp. 75–91. Her Majesty’s Stationary Office, London (1959)
McCarthy, J.: Coloring maps and the kowalski doctrine. In: Lifschitz, V. (ed.) Formalizing Common Sense: Papers by John McCarthy, pp. 167–174 (1998)
Pereira, L.M., Porto, A.: Selective Backtracking for Logic Programs. Departamento de Informatica, Faculdade de Ciencias e Tecnologia, Universidade Nova de Lisboa, Lisboa, Portugal (1980)
Sagonas, K., Swift, T.: Warren, D.S.: XSB as an efficient deductive database engine. In: Proceedings of the ACM SIGMOD International Conference on the Management of Data (1994)
Ullman, J.D.: Information integration using logical views. Theor. Comput. Sci. 239(2), 189–210 (2000). https://doi.org/10.1016/S0304-3975(99)00219-4
van Emden, M., Kowalski, R.: The semantics of predicate logic as a programming language. J. Assoc. Comput. Mach. 23(4), 733–774 (1976)
Warren, D.S.: Programming in Tabled Prolog. https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.4635
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Genesereth, M. (2023). Prolog as a Knowledge Representation Language the Nature and Importance of Prolog. In: Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M.V., Kowalski, R., Rossi, F. (eds) Prolog: The Next 50 Years. Lecture Notes in Computer Science(), vol 13900. Springer, Cham. https://doi.org/10.1007/978-3-031-35254-6_3
Download citation
DOI: https://doi.org/10.1007/978-3-031-35254-6_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-35253-9
Online ISBN: 978-3-031-35254-6
eBook Packages: Computer ScienceComputer Science (R0)