Cmodels -- SAT-based Disjunctive Answer Set Solver (2005)
Disjunctive logic programming under the stable model semantics is a new methodology called answer set programming (ASP) for solving combinatorial search problems. This programming method uses answer set solvers, such as dlv, gnt, smodels, assat, cmodels. Systems dlv and gnt are more general as they work with the class of disjunctive logic programs, while other systems cover only normal programs. Dlv is uniquely designed to find the answer sets for disjunctive logic programs. On the other hand, gnt first generates possible stable model candidates and then tests the candidate on the minimality using system smodels as an inference engine for both tasks. Systems cmodels and assat use SAT solvers as search engines. They are based on the relationship between the completion semantics, loop formulas and answer set semantics for logic programs. Here we present the implementation of a SAT-based algorithm for finding answer sets for disjunctive logic programs within cmodels. The work is based on the definition of completion for disjunctive programs and the generalisation of loop formulas to the case of disjunctive programs. We propose the necessary modifications to the SAT based algorithm as well as to the generate and test algorithm from in order to adapt them to the case of disjunctive programs. We implement the algorithms in cmodels and demonstrate the experimental results.
In 8th International Conference on Logic Programming and Nonmonotonic Reasoning 2005.

Yuliya Lierler Ph.D. Alumni ylierler [at] unomaha edu