Logic programming with satisfiability
2007, Theory and Practice of Logic Programming
Abstract
This paper presents a Prolog interface to the MiniSat satisfiability solver. Logic programming with satisfiability combines the strengths of the two paradigms: logic programming for encoding search problems into satisfiability on the one hand and efficient SAT solving on the other. This synergy between these two exposes a programming paradigm that we propose here as a logic programming pearl. To illustrate logic programming with SAT solving, we give an example Prolog program that solves instances of Partial MAXSAT.
References (16)
- Annov, E., Codish, M., Giesl, J., Schneider-Kamp, P., and Thiemann, R. 2006. A sat-based implementation for RPO termination. http://www.lix.polytechnique.fr/ ~hermann/LPAR2006/short.html. Short Paper at LPAR.
- Arts, T. and Giesl, J. 2000. Termination of term rewriting using dependency pairs. Theoretical Computer Science 236, 1-2, 133-178.
- Cha, B., Iwama, K., Kambayashi, Y., and Miyazaki, S. 1997. Local search algorithms for partial MAXSAT. In AAAI/IAAI. 263-268.
- Codish, M., Lagoon, V., and Stuckey, P. J. 2006a. Minisat library for prolog. http: //www.cs.bgu.ac.il/ ~mcodish/Software/pl-minisat.tgz.
- Codish, M., Lagoon, V., and Stuckey, P. J. 2006b. Solving partial order constraints for LPO termination. In Term Rewriting and Applications (RTA). Vol. 4098. Springer, Seattle, USA, 4-18.
- Codish, M., Schneider-Kamp, P., Lagoon, V., Thiemann, R., and Giesl, J. 2006. Sat solving for argument filterings. In Logic for Programming, Artificial Intelligence and Reasoning (LPAR). Vol. 4246. Springer, 30-44.
- Cormen, T. H., Leiserson, C. E., and Rivest, R. L. 1990. Introduction to Algorithms. MIT Press, Chapter 29.
- Dershowitz, N. 1982. Orderings for term-rewriting systems. Theoretical Computer Science 17, 279-301.
- Eén, N. and Sörensson, N. 2004. An extensible SAT-solver. In Theory and Applications of Satisfiability Testing, 6th International Conference, SAT 2003 (Selected Revised Pa- pers), E. Giunchiglia and A. Tacchella, Eds. Lecture Notes in Computer Science, vol. 2919. Springer, 502-518.
- MiniSAT 2006. MiniSAT solver. http://www.cs.chalmers.se/Cs/Research/
- FormalMethods/MiniSat. Viewed December 2005.
- Miyazaki, S., Iwama, K., and Kambayashi, Y. 1996. Database queries as combinatorial optimization problems. In CODAS. 477-483.
- Plaisted, D. and Greenbaum, S. 1986. A structure preserving clause form translation. Journal of Symbolic Computation 2, 293-304.
- SWI-Prolog. SWI-prolog. http://http://www.swi-prolog.org/. Viewed December 2005.
- Tseitin, G. 1968. On the complexity of derivation in propositional calculus. In Studies in Constructive Mathematics and Mathematical Logic. 115-125. Reprinted in J. Siekmann and G. Wrightson (editors), Automation of Reasoning, vol. 2, pp. 466-483, Springer- Verlag Berlin, 1983.
- Wielemaker, J. 2003. An overview of the SWI-Prolog programming environment. In Proceedings of the 13th International Workshop on Logic Programming Environments, F. Mesnard and A. Serebenik, Eds. Katholieke Universiteit Leuven, Heverlee, Belgium, 1-16. CW 371.