Logic
programming is a programming paradigm
based on formal logic. A
program written in a logic programming language
is a set of sentences in logical form, expressing facts and rules about some
problem domain. Major logic programming
language families include Prolog, Answer set programming
(ASP) and Datalog. In all of these languages, rules are
written in the form of clauses:
H :- B1,
…, Bn.
and are read
declaratively as logical implications:
H if B1
and … and Bn.
H is called the head of the
rule and B1, …, Bn is called the body. Facts
are rules that have no body, and are written in the simplified form:
H.
In the
simplest case in which H, B1, …, Bn are all atomic formulae, these
clauses are called definite clauses or Horn clauses. However, there exist many
extensions of this simple case, the most important one being the case in which
conditions in the body of a clause can also be negations of atomic formulae.
Logic programming languages that include this extension have the knowledge
representation capabilities of a non-monotonic logic.
Continue ReadingFrom Wikipedia, the free encyclopedia
Learn Logic Programming Online
Logic Programming Books
Logic & Functional Programming BookThe Haskell Road to Logic, Maths and Programming