A pearl on SAT and SMT solving in Prolog (Q428887): Difference between revisions
From MaRDI portal
Created a new Item |
ReferenceBot (talk | contribs) Changed an Item |
||
(6 intermediate revisions by 5 users not shown) | |||
Property / review text | |||
A succinct and elegant solver of twenty two Prolog clauses for the Boolean satisfiability problem (SAT solver) is presented. The brevity of the program is achieved using Prolog to transform a propositional formula into a conjunctive normal form (CNF). The match between Prolog, SAT, Davis-Putnam-Logeman-Loveland (DPLL) algorithm with watched literals -- one of the most power features in speeding up SAT solvers -- promotes a lot the author's success. The solver provides an easy entry into the SAT and SAT modulo theories (SMT). The SAT solver exploits the control provided by delay declarations to implement watched literals and unit propagation. The SAT solver can be integrated into an SMT framework which uses the constraint solvers that are available in many Prolog systems. The presented SAT solver is not going to be competitive on large, difficult problems set as challenges in the international SAT and SMT competitions. Nevertheless, the solver does provide a declarative description of SAT solving with watched literals in a succinct and self-contained manner, and one which can be extended in a number of ways. For instance, its incorporation into an SMT scheme using the constraint packages often distributed with Prolog systems gives a straightforward realization of the theory of linear real arithmetic. | |||
Property / review text: A succinct and elegant solver of twenty two Prolog clauses for the Boolean satisfiability problem (SAT solver) is presented. The brevity of the program is achieved using Prolog to transform a propositional formula into a conjunctive normal form (CNF). The match between Prolog, SAT, Davis-Putnam-Logeman-Loveland (DPLL) algorithm with watched literals -- one of the most power features in speeding up SAT solvers -- promotes a lot the author's success. The solver provides an easy entry into the SAT and SAT modulo theories (SMT). The SAT solver exploits the control provided by delay declarations to implement watched literals and unit propagation. The SAT solver can be integrated into an SMT framework which uses the constraint solvers that are available in many Prolog systems. The presented SAT solver is not going to be competitive on large, difficult problems set as challenges in the international SAT and SMT competitions. Nevertheless, the solver does provide a declarative description of SAT solving with watched literals in a succinct and self-contained manner, and one which can be extended in a number of ways. For instance, its incorporation into an SMT scheme using the constraint packages often distributed with Prolog systems gives a straightforward realization of the theory of linear real arithmetic. / rank | |||
Normal rank | |||
Property / Mathematics Subject Classification ID | |||
Property / Mathematics Subject Classification ID: 68T20 / rank | |||
Normal rank | |||
Property / Mathematics Subject Classification ID | |||
Property / Mathematics Subject Classification ID: 68N17 / rank | |||
Normal rank | |||
Property / zbMATH DE Number | |||
Property / zbMATH DE Number: 6049400 / rank | |||
Normal rank | |||
Property / zbMATH Keywords | |||
SAT solving | |||
Property / zbMATH Keywords: SAT solving / rank | |||
Normal rank | |||
Property / zbMATH Keywords | |||
SMT solving | |||
Property / zbMATH Keywords: SMT solving / rank | |||
Normal rank | |||
Property / zbMATH Keywords | |||
Prolog | |||
Property / zbMATH Keywords: Prolog / rank | |||
Normal rank | |||
Property / zbMATH Keywords | |||
constraint logic programming | |||
Property / zbMATH Keywords: constraint logic programming / rank | |||
Normal rank | |||
Property / zbMATH Keywords | |||
delay declarations | |||
Property / zbMATH Keywords: delay declarations / rank | |||
Normal rank | |||
Property / zbMATH Keywords | |||
watched literal | |||
Property / zbMATH Keywords: watched literal / rank | |||
Normal rank | |||
Property / zbMATH Keywords | |||
unit propagation | |||
Property / zbMATH Keywords: unit propagation / rank | |||
Normal rank | |||
Property / describes a project that uses | |||
Property / describes a project that uses: Chaff / rank | |||
Normal rank | |||
Property / describes a project that uses | |||
Property / describes a project that uses: MiniSat / rank | |||
Normal rank | |||
Property / MaRDI profile type | |||
Property / MaRDI profile type: Publication / rank | |||
Normal rank | |||
Property / full work available at URL | |||
Property / full work available at URL: https://doi.org/10.1016/j.tcs.2012.02.024 / rank | |||
Normal rank | |||
Property / OpenAlex ID | |||
Property / OpenAlex ID: W2121531736 / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Q4297316 / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: PROGRAMMING PEARL: Enhancing a search algorithm to perform intelligent backtracking / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Logic programming with satisfiability / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: A machine program for theorem-proving / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Q4940937 / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Theory and Applications of Satisfiability Testing / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Theory and Applications of Satisfiability Testing / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Watched Literals for Constraint Propagation in Minion / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Q4736508 / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Efficient groundness analysis in Prolog / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: A Pearl on SAT Solving in Prolog / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Shostak's congruence closure as completion / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Q5472914 / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Algorithm = logic + control / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Decision procedures. An algorithmic point of view. With foreword by Randal E. Bryant / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Negation and control in PROLOG / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Term Rewriting and Applications / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Solving SAT and SAT Modulo Theories / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Q5593816 / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Q4804883 / rank | |||
Normal rank | |||
links / mardi / name | links / mardi / name | ||
Revision as of 10:00, 5 July 2024
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | A pearl on SAT and SMT solving in Prolog |
scientific article |
Statements
A pearl on SAT and SMT solving in Prolog (English)
0 references
25 June 2012
0 references
A succinct and elegant solver of twenty two Prolog clauses for the Boolean satisfiability problem (SAT solver) is presented. The brevity of the program is achieved using Prolog to transform a propositional formula into a conjunctive normal form (CNF). The match between Prolog, SAT, Davis-Putnam-Logeman-Loveland (DPLL) algorithm with watched literals -- one of the most power features in speeding up SAT solvers -- promotes a lot the author's success. The solver provides an easy entry into the SAT and SAT modulo theories (SMT). The SAT solver exploits the control provided by delay declarations to implement watched literals and unit propagation. The SAT solver can be integrated into an SMT framework which uses the constraint solvers that are available in many Prolog systems. The presented SAT solver is not going to be competitive on large, difficult problems set as challenges in the international SAT and SMT competitions. Nevertheless, the solver does provide a declarative description of SAT solving with watched literals in a succinct and self-contained manner, and one which can be extended in a number of ways. For instance, its incorporation into an SMT scheme using the constraint packages often distributed with Prolog systems gives a straightforward realization of the theory of linear real arithmetic.
0 references
SAT solving
0 references
SMT solving
0 references
Prolog
0 references
constraint logic programming
0 references
delay declarations
0 references
watched literal
0 references
unit propagation
0 references