lpod.pl
The following prototype is a Prolog program that implements a
translation [Cab10] of Logic Programs with Ordered
Disjunction [BNS04] into regular logic programs, using DLV as a
backend. The use of DLV allows including regular rules that contain
disjunction in the head. The current version just allows propositional
programs. Five files are required:
- lpod.pl main file
- backend.pl interface with DLV
- testerc.pl tester program for
cardinality ordering
- testeri.pl tester program for inclusion
ordering
- testerp.pl tester program for Pareto
ordering
- ex5 contains an example
Its use is very primitive yet. Load lpod.pl with SWI Prolog and invoke
predicate:
?- lpod(Filename, Ordering).
where Ordering is a character in {c, i, p} respectively corresponding
to Cardinality, Inclusion or Pareto preference ordering.
[BNS04] Gerhard Brewka, Ilkka Niemelaä and Tommi Syrjänen.
Logic
programs with ordered disjunction. Computational Intelligence,
20(2):335-357, 2004.
[Cab10] P. Cabalar, "A
Logical Characterisation of Ordered Disjunction", 3rd Workshop on
Answer Set Programming and Other Computing Paradigms (ASPOCP'10),
Edinburgh, UK, July 20th 2010.