logic programming

Get Babylon's Translation Software! Free Download Now!
Babylon 8 - Your all-in-one solution
Award winning translation software trusted by millions. Translate from any language to any language.
View Demo


Wikipedia English The Free EncyclopediaDownload this dictionary
Logic programming
Logic programming (which might better be called logical programming by analogy with mathematical programming and linear programming) is, in its broadest sense, the use of mathematical logic for computer programming. In this view of logic programming, which can be traced at least as far back as John McCarthy's [1958] advice-taker proposal, logic is used as a purely declarative representation language, and a theorem-prover or model-generator is used as the problem-solver. The problem-solving task is split between the programmer, who is responsible only for ensuring the truth of programs expressed in logical form, and the theorem-prover or model-generator, which is responsible for solving problems efficiently.
See more at Wikipedia.org...

This article uses material from Wikipedia® and is licensed under the GNU Free Documentation License

WordNet 2.0 DictionaryDownload this dictionary
logic programming
Noun
1. a computer language designed in Europe to support natural language processing
(synonym) Prolog, logic programing
(hypernym) programming language, programing language
2. creating a program that enables the computer to reason logically
(hypernym) programming, programing, computer programming, computer programing



FOLDOC DictionaryDownload this dictionary
logic programming
<artificial intelligenceprogramminglanguage> A declarativerelational style of programming based on first-order logic. The original logic programming language was Prolog. The concept is based on Horn clauses.
The programmer writes a "database" of "facts", e.g.
wet(water).
("water is wet") and "rules", e.g.
mortal(X) :- human(X).
("X is mortal is implied by X is human"). Facts and rules are collectively known as "clauses".
The user supplies a "goal" which the system attempts to prove using "resolution" or "backward chaining". This involves matching the current goal against each fact or the left hand side of each rule using "unification". If the goal matches a fact, the goal succeeds; if it matches a rule then the process recurses, taking each sub-goal on the right hand side of the rule as the current goal. If all sub-goals succeed then the rule succeeds.
Each time a possible clause is chosen, a "choice point" is created on a stack. If subsequent resolution fails then control eventually returns to the choice point and subsequent clauses are tried. This is known as "backtracking".
Clauses may contain logic variables which take on any value necessary to make the fact or the left hand side of the rule match a goal. Unification binds these variables to the corresponding subterms of the goal. Such bindings are associated with the choice point at which the clause was chosen and are undone when backtracking reaches that choice point.
The user is informed of the success or failure of his first goal and if it succeeds and contains variables he is told what values of those variables caused it to succeed. He can then ask for alternative solutions.
(1997-07-14)


(c) Copyright 1993 by Denis Howe

Define logic programming

Translate logic programming





logic programming in Chinese | | logic programming in French | logic programming in Italian | logic programming in Spanish | logic programming in Dutch | logic programming in German | logic programming in Russian | logic programming in Japanese | logic programming in Greek | logic programming in Turkish | logic programming in Arabic | logic programming in Croatian | logic programming in Swedish