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:

  1. lpod.pl main file
  2. backend.pl interface with DLV
  3. testerc.pl tester program for cardinality ordering
  4. testeri.pl tester program for inclusion ordering
  5. testerp.pl tester program for Pareto ordering
  6. 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.