# Logic Programming

Logic programming is one of the 4 main programming paradigms. Its theory of computation is based on first order logic. Programming languages such as Prolog and Datalog implement it.

A form of logical sentences commonly found in logic programming, but not exclusively, is the Horn clause. An example is:

p(X, Y) if q(X) and r(Y)

Some logic programming languages accept other logical sentences, such as the "choice" sentence in answer set programming.

Logical sentences can be understood purely declaratively. They can also be understood procedurally as goal-reduction procedures : to solve p(X, Y), first solve q(X), then solve r(Y).

The programmer can use the declarative reading of logic programs to verify their correctness. In addition, the programmer can use the known behaviour of the program executor to develop a procedural understanding of his program. This may be helpful when seeking better execution speed. However, many logically-based program transformation techniques have been developed to transform logic programs automatically and make them efficient.

### Other articles related to "logic programming, logic, programming":

Luis Moniz Pereira
... His research is in the field of logic programming and in knowledge representation, reasoning and cognitive science more generally ... and has been a founding member of the editorial boards of the journals of Logic Programming, Automated Reasoning, New Generation Computing, Theory and Practice of Logic Programming ... He coordinates the Erasmus Mundus European MSc in Computational Logic at UNL, is vice-president of EASE, the European Association for semantic Web Education ...
Semmle Code - Background - Academic
... The next significant development was therefore the use of logic programming, which does allow such recursive queries, in the XL C++ Browser ... The disadvantage of using a full logic programming language is however that it is very difficult to attain acceptable efficiency ... to exploit the observation that Datalog, a very restrictive version of logic programming, is in the sweet spot between expressive power and efficiency ...
Linear Logic Programming
... Basing logic programming within linear logic has resulted in the design of logic programming languages that are considerably more expressive than those based on classical logic ... In linear logic programming, one can use the ambient linear logic to support state change ... Some early designs of logic programming languages based on linear logic include LO, Lolli, ACL, and Forum ...
Lateral Computing - Logical Thinking and Artificial Intelligence - Logic Programming
... The attempts to use logic programming such as prolog to represent knowledge and build artificial intelligent systems has not provided the anticipated thrust to solving ...
List Of Computer Science Conferences - Programming Languages
... See also #Software engineering and #Computer architecture Conferences on programming languages and compilers POPL - Symposium on Principles of Programming Languages PLDI - ACM ... Conference and Symposium on Logic Programming" ICFP - International Conference on Functional Programming CGO - International Symposium on Code Generation and Optimization ...

### Famous quotes containing the words programming and/or logic:

If there is a price to pay for the privilege of spending the early years of child rearing in the driver’s seat, it is our reluctance, our inability, to tolerate being demoted to the backseat. Spurred by our success in programming our children during the preschool years, we may find it difficult to forgo in later states the level of control that once afforded us so much satisfaction.
Melinda M. Marshall (20th century)

The logic of worldly success rests on a fallacy: the strange error that our perfection depends on the thoughts and opinions and applause of other men! A weird life it is, indeed, to be living always in somebody else’s imagination, as if that were the only place in which one could at last become real!
Thomas Merton (1915–1968)