Primary
Prolog ○˒|Definition|1st|20261025155446-00-⌔
Prolog
Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics.123
Prolog has its roots in first-order logic, a formal logic. Unlike many other programming languages, Prolog is intended primarily as a declarative programming language: the program is a set of facts and rules, which define relations. A computation is initiated by running a query over the program.4
Prolog was one of the first logic programming languages5 and remains the most popular such language today, with several free and commercial implementations available. The language has been used for theorem proving,6 expert systems,7 term rewriting,8 type systems,9 automated planning,10 and question answering111213 as well as its original intended field of use, natural language processing.1411
Prolog is a Turing-complete, general-purpose programming language, which is well-suited for intelligent knowledge-processing applications.
Printed 2026-10-25.
(echo:: @ ᯤ)
Link to original Footnotes
Clocksin, William F.; Mellish, Christopher S. (2003). Programming in Prolog. Berlin; New York: Springer-Verlag. ISBN 978-3-540-00678-7. ↩
Bratko, Ivan (2012). Prolog programming for artificial intelligence (4th ed.). Harlow, England; New York: Addison Wesley. ISBN 978-0-321-41746-6. ↩
Covington, Michael A. (1994). Natural language processing for Prolog programmers. Englewood Cliffs, N.J.: Prentice Hall. ISBN 978-0-13-629213-5. ↩
Lloyd, J. W. (1984). Foundations of logic programming. Berlin: Springer-Verlag. ISBN 978-3-540-13299-8. ↩
See Logic programming § History. ↩
Stickel, M. E. (1988). “A prolog technology theorem prover: Implementation by an extended prolog compiler”. Journal of Automated Reasoning. 4 (4): 353–380. doi:10.1007/BF00297245. S2CID 14621218. ↩
Merritt, Dennis (1989). Building expert systems in Prolog. Berlin: Springer-Verlag. ISBN 978-0-387-97016-5. ↩
Felty, Amy. “A logic programming approach to implementing higher-order term rewriting.” Extensions of Logic Programming (1992): 135-161. ↩
Kent D. Lee (19 January 2015). Foundations of Programming Languages. Springer. pp. 298–. ISBN 978-3-319-13314-0. ↩
Ute Schmid (21 August 2003). Inductive Synthesis of Functional Programs: Universal Planning, Folding of Finite Programs, and Schema Abstraction by Analogical Reasoning. Springer Science & Business Media. ISBN 978-3-540-40174-2. ↩
Adam Lally; Paul Fodor (31 March 2011). “Natural Language Processing With Prolog in the IBM Watson System”. Association for Logic Programming. Archived from the original on 3 September 2014. Retrieved 13 June 2014. See also Watson (computer). ↩ ↩2
“Question answering: from partitions to Prolog”. ↩
“NLProlog: Reasoning with Weak Unification for Question Answering in Natural Language” (PDF). ↩
Fernando C. N. Pereira; Stuart M. Shieber (2005). Prolog and Natural Language Analysis. Microtome. ↩
Secondary
• • •