Live briefing
Everything about Syntax and semantics of logic programming
Formal semantics of logic programming languages
Logic programming is a programming paradigm that includes languages based on formal logic, including Datalog and Prolog. This article describes the syntax and semantics of the purely declarative subset of these languages. Confusingly, the name "logic programming" also refers to a specific programming language that roughly corresponds to the declarative subset of Prolog. Unfortunately, the term must be used in both senses in this article. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Syntax and semantics of logic programmingA 5-minute orientation
- Pick up a classic book: Artificial intelligenceThe most-reprinted book on the subject
- Read the landmark paper: Syntax and semantics of multi-adjoint normal logic programmingCited 18 times
- Go sideways: DatalogA closely related topic
- Go sideways: Stable model semanticsA closely related topic
đź“– Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
📚 Books worth reading
Artificial intelligenceStuart J. Russell, Peter Norvig · 1994
Java software solutionsLewis, John, John E. Lewis Ph. D. · 1997
Programming and problem solving with C++Nell B. Dale, Chip Weems · 1996
Concepts of Programming LanguagesRobert W. Sebesta · 2002
The primacy of grammarNirmalangshu Mukherji · 2010
Logic in Computer ScienceMark Ryan · 1999
Concepts, techniques, and models of computer programmingPeter Van Roy, Seif Haridi · 2004
The Logic of Categorial GrammarsRichard Moot · 2012
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- Datalog Datalog is a declarative logic programming language. While it is syntactically a subset of Prolog, Datalog generally uses a bottom-up rather than top-down…
- Stable model semantics The concept of a stable model, or answer set, is used to define a declarative semantics for logic programs with negation as failure. This is one of several…
- Flix (programming language) Flix is a functional, imperative, and logic programming language developed at Aarhus University, with funding from the Independent Research Fund Denmark…
- Logic programming Logic programming is a programming, database, and knowledge representation paradigm based on formal logic. A logic program is a set of sentences in logical…
- DatalogZ DatalogZ (stylized as Datalogℤ) is an extension of Datalog that incorporates integer arithmetic and comparisons. Although the general language is undecidable…
- Answer set programming Answer set programming (ASP) is a form of declarative programming oriented towards difficult (primarily NP-hard) search problems. It is based on the stable…
- Vadalog Vadalog is a system for performing complex logic reasoning tasks over knowledge graphs. Its language is based on an extension of the rule-based language…
- Prolog Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics. Prolog…