Computing Stable Models via Reductions to Difference Logic

  • Tomi Janhunen
  • Ilkka Niemelä
  • Mark Sevalnev
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5753)


Propositional satisfiability (SAT) solvers provide a promising computational platform for logic programs under the stable model semantics. However, computing stable models of a logic program using a SAT solver presumes translating the program into a set of clauses which is the input form accepted by most SAT solvers. This leads to fairly complex super-linear translations. There are, however, interesting extensions to plain clausal propositional representations such as difference logic. A number of solvers have been developed for difference logic, in particular in the context of the satisfiability modulo theories (SMT) framework, and the goal of the paper is to study whether such engines could be harnessed to the computation of stable models for logic programs in an effective way. To this end, we provide succinct translations from logic programs to theories of difference logic and evaluate the potential of SMT solvers in the computation of stable models using these translations and a selection of benchmarks.




Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In: ICLP, pp. 1070–1080. MIT Press, Cambridge (1988)Google Scholar
  2. 2.
    Lifschitz, V.: Answer set planning. In: ICLP, pp. 23–37. MIT Press, Cambridge (1999)Google Scholar
  3. 3.
    Marek, V., Truszczyński, M.: Stable models and an alternative logic programming paradigm. In: The Logic Programming Paradigm: a 25-Year Perspective, pp. 375–398. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  4. 4.
    Niemelä, I.: Logic programming with stable model semantics as a constraint programming paradigm. Ann. Math. Artif. Intell. 25(3-4), 241–273 (1999)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Simons, P., Niemelä, I., Soininen, T.: Extending and implementing the stable model semantics. Artificial Intelligence 138(1-2), 181–234 (2002)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Leone, N., Pfeifer, G., Faber, W., Eiter, T., Gottlob, G., Scarcello, F.: The DLV System for Knowledge Representation and Reasoning. ACM TOCL 7(3), 499–562 (2006)MathSciNetCrossRefMATHGoogle Scholar
  7. 7.
    Gebser, M., Kaufmann, B., Neumann, A., Schaub, T.: Clasp: A conflict-driven answer set solver. In: Baral, C., Brewka, G., Schlipf, J. (eds.) LPNMR 2007. LNCS (LNAI), vol. 4483, pp. 260–265. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Clark, K.: Negation as failure. In: Logic and Data Bases, pp. 293–322. Plenum Press (1978)Google Scholar
  9. 9.
    Erdem, E., Lifschitz, V.: Tight logic programs. TPLP 3(4-5), 499–518 (2003)MathSciNetMATHGoogle Scholar
  10. 10.
    Lin, F., Zhao, Y.: ASSAT: computing answer sets of a logic program by SAT solvers. AIJ 157(1-2), 115–137 (2004)MathSciNetMATHGoogle Scholar
  11. 11.
    Lierler, Y.: Cmodels – SAT-based disjunctive answer set solver. In: Baral, C., Greco, G., Leone, N., Terracina, G. (eds.) LPNMR 2005. LNCS (LNAI), vol. 3662, pp. 447–451. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Giunchiglia, E., Lierler, Y., Maratea, M.: Answer set programming based on propositional satisfiability. Journal of Automated Reasoning 36(4), 345–377 (2006)MathSciNetCrossRefMATHGoogle Scholar
  13. 13.
    Ben-Eliyahu, R., Dechter, R.: Propositional Semantics for Disjunctive Logic Programs. Ann. Math. Artif. Intell. 12(1-2), 53–87 (1994)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Lin, F., Zhao, J.: On tight logic programs and yet another translation from normal logic programs to propositional logic. In: IJCAI, pp. 853–858 (2003)Google Scholar
  15. 15.
    Janhunen, T.: Representing normal programs with clauses. In: ECAI, pp. 358–362. IOS Press, Amsterdam (2004)Google Scholar
  16. 16.
    Niemelä, I.: Stable models and difference logic. Ann. Math. Artif. Intell. 53(1-4), 313–329 (2008)MathSciNetCrossRefMATHGoogle Scholar
  17. 17.
    Nieuwenhuis, R., Oliveras, A.: DPLL(T) with exhaustive theory propagation and its application to difference logic. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 321–334. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  18. 18.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., van Rossum, P., Schulz, S., Sebastiani, R.: MathSAT: Tight integration of sat and mathematical decision procedures. Journal of Automated Reasoning 35(1-3), 265–293 (2005)MathSciNetCrossRefMATHGoogle Scholar
  19. 19.
    Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Solving SAT and SAT Modulo Theories: From an abstract Davis–Putnam–Logemann–Loveland procedure to DPLL(T). J. ACM 53(6), 937–977 (2006)MathSciNetCrossRefMATHGoogle Scholar
  20. 20.
    Cotton, S., Maler, O.: Fast and flexible difference constraint propagation for DPLL(T). In: Biere, A., Gomes, C.P. (eds.) SAT 2006. LNCS, vol. 4121, pp. 170–183. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Apt, K., Blair, H., Walker, A.: Towards a theory of declarative knowledge. In: Foundations of Deductive Databases and Logic Programming, pp. 89–148. Morgan Kaufmann, San Francisco (1988)CrossRefGoogle Scholar
  22. 22.
    Marek, V.W., Subrahmanian, V.S.: The relationship between stable, supported, default and autoepistemic semantics for general logic programs. TCS 103, 365–386 (1992)MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Tomi Janhunen
    • 1
  • Ilkka Niemelä
    • 1
  • Mark Sevalnev
    • 1
  1. 1.Department of Information and Computer ScienceHelsinki University of Technology TKKTKKFinland

Personalised recommendations