Skip to main content Accessibility help
×
Home
Hostname: page-component-99c86f546-66nw2 Total loading time: 0.238 Render date: 2021-12-06T00:15:59.509Z Has data issue: true Feature Flags: { "shouldUseShareProductTool": true, "shouldUseHypothesis": true, "isUnsiloEnabled": true, "metricsAbstractViews": false, "figures": true, "newCiteModal": false, "newCitedByModal": true, "newEcommerce": true, "newUsageEvents": true }

Logic programming with satisfiability

Published online by Cambridge University Press:  01 January 2008

MICHAEL CODISH
Affiliation:
Department of Computer Science, Ben-Gurion University, Be'er sheva, Israel (email: mcodish@cs.bgu.ac.il)
VITALY LAGOON
Affiliation:
Department of Computer Science & Software Engineering, University of Melbourne, Melbourne, Australia (email: vitaly.lagoon@gmail.com)
PETER J. STUCKEY
Affiliation:
NICTA Victoria Laboratory and Department of Computer Science & Software Engineering, University of Melbourne, Melbourne, Australia (email: pjs@csse.unimelb.edu.au)

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.

Type
Programming Pearl
Copyright
Copyright © Cambridge University Press 2007

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Annov, E., Codish, M., Giesl, J., Schneider-Kamp, P. and Thiemann, R. 2006. A sat-based implementation for RPO termination. URL: http://www.lix.polytechnique.fr/hermann/LPAR2006/short.html. Short Paper at LPAR. Access date December 2006.Google Scholar
Arts, T. and Giesl, J. 2000. Termination of term rewriting using dependency pairs. Theoretical Computer Science 236 (1–2), 133178.CrossRefGoogle Scholar
Cha, B., Iwama, K., Kambayashi, Y. and Miyazaki, S. 1997. Local search algorithms for partial MAXSAT. In AAAI/IAAI. 263–268.Google Scholar
Codish, M., Lagoon, V. and Stuckey, P. J. 2006a. Minisat library for Prolog. URL: http://www.cs.bgu.ac.il/~mcodish/Software/pl-minisat.tgz. Access date December 2006.Google Scholar
Codish, M., Lagoon, V. and Stuckey, P. J. 2006b. Solving partial order constraints for LPO termination. In Term Rewriting and Applications (RTA). Lecture Notes in Computer Science, vol. 4098. Springer, Seattle, WA, 4–18.Google Scholar
Codish, M., Schneider-Kamp, P., Lagoon, V., Thiemann, R. and Giesl, J. 2006 c. Sat solving for argument filterings. In Logic for Programming, Artificial Intelligence and Reasoning (LPAR). Lecture Notes in Artificial Intelligence, vol. 4246. Springer, 30–44.Google Scholar
Cormen, T. H., Leiserson, C. E. and Rivest, R. L. 1990. Introduction to Algorithms. MIT Press, Chapter 29.Google Scholar
Dershowitz, N. 1982. Orderings for term-rewriting systems. Theoretical Computer Science 17, 279301.CrossRefGoogle Scholar
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 Papers), Giunchiglia, E. and Tacchella, A., Eds. Lecture Notes in Computer Science, vol. 2919. Springer, 502518.Google Scholar
MiniSat 2006, MiniSat solver. Accessed December 2005. URL: http://www.cs.chalmers.se/Cs/Research/FormalMethods/MiniSat.Google Scholar
Miyazaki, S., Iwama, K. and Kambayashi1, Y. 1996. Database queries as combinatorial optimization problems. In CODAS. 477–483.Google Scholar
Plaisted, D. and Greenbaum, S. 1986. A structure preserving clause form translation. Journal of Symbolic Computation 2, 293304.CrossRefGoogle Scholar
SWI-Prolog 2005. SWI-prolog. Accessed December 2005. URL: http://http://www.swi-prolog.org/.Google Scholar
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 (eds), 1983. Automation of Reasoning, vol. 2. Springer-Verlag, Berlin, 466–483.Google Scholar
Wielemaker, J. 2003. An overview of the SWI-Prolog programming environment. In Proceedings of the 13th International Workshop on Logic Programming Environments, Mesnard, F. and Serebenik, A., Eds. Katholieke Universiteit Leuven, Heverlee, Belgium, 116. CW 371.Google Scholar
14
Cited by

Send article to Kindle

To send this article to your Kindle, first ensure no-reply@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about sending to your Kindle. Find out more about sending to your Kindle.

Note you can select to send to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be sent to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

Logic programming with satisfiability
Available formats
×

Send article to Dropbox

To send this article to your Dropbox account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Dropbox.

Logic programming with satisfiability
Available formats
×

Send article to Google Drive

To send this article to your Google Drive account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Google Drive.

Logic programming with satisfiability
Available formats
×
×

Reply to: Submit a response

Please enter your response.

Your details

Please enter a valid email address.

Conflicting interests

Do you have any conflicting interests? *