DLV
Encyclopedia
- For daylight-viewable LCD computer displays, see DLV LCD.
- For DNSSEC lookaside validation, see Domain Name System Security Extensions
The DLV system is a disjunctive logic programming
Logic programming
Logic 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...
system, implementing the stable model semantics
Stable model semantics
The concept of a stable model, or answer set, is used to define a declarative semantics for logic programs with negation as failure. This is one of several standard approaches to the meaning of negation in logic programming, along with program completion and the well-founded semantics...
under the Answer set programming
Answer set programming
Answer set programming is a form of declarative programming oriented towards difficult search problems. It is based on the stable model semantics of logic programming. In ASP, search problems are reduced to computing stable models, and answer set solvers -- programs for generating stable...
paradigm. It extends the datalog
Datalog
Datalog is a query and rule language for deductive databases that syntactically is a subset of Prolog. Its origins date back to the beginning of logic programming, but it became prominent as a separate area around 1977 when Hervé Gallaire and Jack Minker organized a workshop on logic and databases...
language to allow the use of OR in rules. The tutorial page gives a simple example modeling some laughing when told a joke.
joke.
laugh :- joke.
The following would represent the case where a joke was not told.
laugh :- joke.
Since the value of joke is not indicated as true in the second program it is assumed to be false.