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)
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 "programming, logic programming, logic":
... See also #Software engineering and #Computer architecture Conferences on programming languages and compilers POPL - Symposium on Principles of Programming Languages PLDI - ACM SIGPLAN Conference on Programming ... International Conference and Symposium on Logic Programming" ICFP - International Conference on Functional Programming CGO - International Symposium on Code Generation and Optimization ESOP ...
... 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 ...
... 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 interesting problems ...
... His research is in the field of logic programming and in knowledge representation, reasoning and cognitive science more generally ... association, 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 ... He coordinates the Erasmus Mundus European MSc in Computational Logic at UNL, is vice-president of EASE, the European Association for semantic Web Education ...
... 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 ... the observation that Datalog, a very restrictive version of logic programming, is in the sweet spot between expressive power and efficiency ...
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 drivers 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)
“Our argument ... will result, not upon logic by itselfthough without logic we should never have got to this pointbut upon the fortunate contingent fact that people who would take this logically possible view, after they had really imagined themselves in the other mans position, are extremely rare.”
—Richard M. Hare (b. 1919)