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.

Read more about Logic Programming:  History, Prolog, Negation As Failure, Problem Solving, Knowledge Representation, Abductive Logic Programming, Metalogic Programming, Constraint Logic Programming, Concurrent Logic Programming, Inductive Logic Programming, Higher-order Logic Programming, Linear Logic Programming

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, Universal ... Erasmus Mundus European MSc in Computational Logic at UNL, is vice-president of EASE, the European Association for semantic Web Education, and belongs to the Board of Trustees and to the ...
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 ... 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 ...
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 ... that Datalog, a very restrictive version of logic programming, is in the sweet spot between expressive power and efficiency ...
List Of Computer Science Conferences - Programming Languages
... also #Software engineering and #Computer architecture Conferences on programming languages and compilers POPL - Symposium on Principles of Programming Languages PLDI - ACM SIGPLAN Conference ...

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 much vaunted male logic isn’t logical, because they display prejudices—against half the human race—that are considered prejudices according to any dictionary definition.
    Eva Figes (b. 1932)