A pearl on SAT and SMT solving in Prolog (Q428887): Difference between revisions

From MaRDI portal
Importer (talk | contribs)
Created a new Item
 
Importer (talk | contribs)
Changed an Item
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

Revision as of 22:25, 29 June 2023

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
    0 references
    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

    Identifiers