Loading…
Solving SAT and SAT modulo theories : From an abstract davis-putnam-logemann-loveland procedure to DPLL(T)
We first introduce Abstract DPLL , a rule-based formulation of the Davis--Putnam--Logemann--Loveland (DPLL) procedure for propositional satisfiability. This abstract framework allows one to cleanly express practical DPLL algorithms and to formally reason about them in a simple way. Its properties, s...
Saved in:
Published in: | Journal of the ACM 2006-11, Vol.53 (6), p.937-977 |
---|---|
Main Authors: | , , |
Format: | Article |
Language: | English |
Subjects: | |
Citations: | Items that this one cites |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
cited_by | |
---|---|
cites | cdi_FETCH-LOGICAL-c316t-3f0e062b4fa341cc80ef69fc1bb3f111ab0acfc1cdbaeae4141f3af9dc9b1e993 |
container_end_page | 977 |
container_issue | 6 |
container_start_page | 937 |
container_title | Journal of the ACM |
container_volume | 53 |
creator | NIEUWENHUIS, Robert OLIVERAS, Albert TINELLI, Cesare |
description | We first introduce
Abstract DPLL
, a rule-based formulation of the Davis--Putnam--Logemann--Loveland (DPLL) procedure for propositional satisfiability. This abstract framework allows one to cleanly express practical DPLL algorithms and to formally reason about them in a simple way. Its properties, such as soundness, completeness or termination, immediately carry over to the modern DPLL implementations with features such as backjumping or clause learning.We then extend the framework to Satisfiability Modulo background Theories (SMT) and use it to model several variants of the so-called
lazy approach
for SMT. In particular, we use it to introduce a few variants of a new, efficient and modular approach for SMT based on a general DPLL(
X
) engine, whose parameter
X
can be instantiated with a specialized solver
Solver
T
for a given theory
T
, thus producing a DPLL(
T
) system. We describe the high-level design of DPLL(
X
) and its cooperation with
Solver
T
, discuss the role of
theory propagation
, and describe different DPLL(
T
) strategies for some theories arising in industrial applications.Our extensive experimental evidence, summarized in this article, shows that DPLL(
T
) systems can significantly outperform the other state-of-the-art tools, frequently even in orders of magnitude, and have better scaling properties. |
doi_str_mv | 10.1145/1217856.1217859 |
format | article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_29873287</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>1217407071</sourcerecordid><originalsourceid>FETCH-LOGICAL-c316t-3f0e062b4fa341cc80ef69fc1bb3f111ab0acfc1cdbaeae4141f3af9dc9b1e993</originalsourceid><addsrcrecordid>eNp9kc1Lw0AQxRdRsFbPXhdBqYe0O9l8eivVqlBQaAVvYbLZrSlJtu4mBf97tzYgePCwvB3mN483DCGXwMYAQTgBH-IkjMYHTY_IAMIw9mIevh-TAWMs8MIA4JScWbtxJfNZPCCbpa52ZbOmy-mKYlP8aK2LrtK0_ZDalNLSOzo3unZtirltDYqWFrgrrbft2gZrr9JrWWPTuM9OVnuXrdFCFp2RtNX0_nWxGK1uz8mJwsrKi16H5G3-sJo9eYuXx-fZdOEJDlHrccUki_w8UMgDECJhUkWpEpDnXAEA5gyFK0WRo0QZQACKo0oLkeYg05QPyc3B14X47KRts7q0QlYumNSdzfw0ibnv3pCM_gUhYQn4PGG-Q6_-oBvdmcatkUEa-BxCtvebHCBhtLVGqmxryhrNVwYs298o62_U6z7qdW-LVmClDDaitL9jjnVpgX8DjWuQaA</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>194231507</pqid></control><display><type>article</type><title>Solving SAT and SAT modulo theories : From an abstract davis-putnam-logemann-loveland procedure to DPLL(T)</title><source>Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)</source><source>BSC - Ebsco (Business Source Ultimate)</source><creator>NIEUWENHUIS, Robert ; OLIVERAS, Albert ; TINELLI, Cesare</creator><creatorcontrib>NIEUWENHUIS, Robert ; OLIVERAS, Albert ; TINELLI, Cesare</creatorcontrib><description>We first introduce
Abstract DPLL
, a rule-based formulation of the Davis--Putnam--Logemann--Loveland (DPLL) procedure for propositional satisfiability. This abstract framework allows one to cleanly express practical DPLL algorithms and to formally reason about them in a simple way. Its properties, such as soundness, completeness or termination, immediately carry over to the modern DPLL implementations with features such as backjumping or clause learning.We then extend the framework to Satisfiability Modulo background Theories (SMT) and use it to model several variants of the so-called
lazy approach
for SMT. In particular, we use it to introduce a few variants of a new, efficient and modular approach for SMT based on a general DPLL(
X
) engine, whose parameter
X
can be instantiated with a specialized solver
Solver
T
for a given theory
T
, thus producing a DPLL(
T
) system. We describe the high-level design of DPLL(
X
) and its cooperation with
Solver
T
, discuss the role of
theory propagation
, and describe different DPLL(
T
) strategies for some theories arising in industrial applications.Our extensive experimental evidence, summarized in this article, shows that DPLL(
T
) systems can significantly outperform the other state-of-the-art tools, frequently even in orders of magnitude, and have better scaling properties.</description><identifier>ISSN: 0004-5411</identifier><identifier>EISSN: 1557-735X</identifier><identifier>DOI: 10.1145/1217856.1217859</identifier><identifier>CODEN: JACOAH</identifier><language>eng</language><publisher>New York, NY: Association for Computing Machinery</publisher><subject>Algorithmics. Computability. Computer arithmetics ; Algorithms ; Applied sciences ; Cleaning ; Computer programming ; Computer science; control theory; systems ; Cooperation ; Design engineering ; Exact sciences and technology ; Mathematical models ; Modular ; Propagation ; Solvers ; State of the art ; Strategy ; Studies ; Theoretical computing ; Theory</subject><ispartof>Journal of the ACM, 2006-11, Vol.53 (6), p.937-977</ispartof><rights>2007 INIST-CNRS</rights><rights>Copyright Association for Computing Machinery Nov 2006</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c316t-3f0e062b4fa341cc80ef69fc1bb3f111ab0acfc1cdbaeae4141f3af9dc9b1e993</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,776,780,27903,27904</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&idt=18562981$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><creatorcontrib>NIEUWENHUIS, Robert</creatorcontrib><creatorcontrib>OLIVERAS, Albert</creatorcontrib><creatorcontrib>TINELLI, Cesare</creatorcontrib><title>Solving SAT and SAT modulo theories : From an abstract davis-putnam-logemann-loveland procedure to DPLL(T)</title><title>Journal of the ACM</title><description>We first introduce
Abstract DPLL
, a rule-based formulation of the Davis--Putnam--Logemann--Loveland (DPLL) procedure for propositional satisfiability. This abstract framework allows one to cleanly express practical DPLL algorithms and to formally reason about them in a simple way. Its properties, such as soundness, completeness or termination, immediately carry over to the modern DPLL implementations with features such as backjumping or clause learning.We then extend the framework to Satisfiability Modulo background Theories (SMT) and use it to model several variants of the so-called
lazy approach
for SMT. In particular, we use it to introduce a few variants of a new, efficient and modular approach for SMT based on a general DPLL(
X
) engine, whose parameter
X
can be instantiated with a specialized solver
Solver
T
for a given theory
T
, thus producing a DPLL(
T
) system. We describe the high-level design of DPLL(
X
) and its cooperation with
Solver
T
, discuss the role of
theory propagation
, and describe different DPLL(
T
) strategies for some theories arising in industrial applications.Our extensive experimental evidence, summarized in this article, shows that DPLL(
T
) systems can significantly outperform the other state-of-the-art tools, frequently even in orders of magnitude, and have better scaling properties.</description><subject>Algorithmics. Computability. Computer arithmetics</subject><subject>Algorithms</subject><subject>Applied sciences</subject><subject>Cleaning</subject><subject>Computer programming</subject><subject>Computer science; control theory; systems</subject><subject>Cooperation</subject><subject>Design engineering</subject><subject>Exact sciences and technology</subject><subject>Mathematical models</subject><subject>Modular</subject><subject>Propagation</subject><subject>Solvers</subject><subject>State of the art</subject><subject>Strategy</subject><subject>Studies</subject><subject>Theoretical computing</subject><subject>Theory</subject><issn>0004-5411</issn><issn>1557-735X</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2006</creationdate><recordtype>article</recordtype><recordid>eNp9kc1Lw0AQxRdRsFbPXhdBqYe0O9l8eivVqlBQaAVvYbLZrSlJtu4mBf97tzYgePCwvB3mN483DCGXwMYAQTgBH-IkjMYHTY_IAMIw9mIevh-TAWMs8MIA4JScWbtxJfNZPCCbpa52ZbOmy-mKYlP8aK2LrtK0_ZDalNLSOzo3unZtirltDYqWFrgrrbft2gZrr9JrWWPTuM9OVnuXrdFCFp2RtNX0_nWxGK1uz8mJwsrKi16H5G3-sJo9eYuXx-fZdOEJDlHrccUki_w8UMgDECJhUkWpEpDnXAEA5gyFK0WRo0QZQACKo0oLkeYg05QPyc3B14X47KRts7q0QlYumNSdzfw0ibnv3pCM_gUhYQn4PGG-Q6_-oBvdmcatkUEa-BxCtvebHCBhtLVGqmxryhrNVwYs298o62_U6z7qdW-LVmClDDaitL9jjnVpgX8DjWuQaA</recordid><startdate>20061101</startdate><enddate>20061101</enddate><creator>NIEUWENHUIS, Robert</creator><creator>OLIVERAS, Albert</creator><creator>TINELLI, Cesare</creator><general>Association for Computing Machinery</general><scope>IQODW</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20061101</creationdate><title>Solving SAT and SAT modulo theories : From an abstract davis-putnam-logemann-loveland procedure to DPLL(T)</title><author>NIEUWENHUIS, Robert ; OLIVERAS, Albert ; TINELLI, Cesare</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c316t-3f0e062b4fa341cc80ef69fc1bb3f111ab0acfc1cdbaeae4141f3af9dc9b1e993</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2006</creationdate><topic>Algorithmics. Computability. Computer arithmetics</topic><topic>Algorithms</topic><topic>Applied sciences</topic><topic>Cleaning</topic><topic>Computer programming</topic><topic>Computer science; control theory; systems</topic><topic>Cooperation</topic><topic>Design engineering</topic><topic>Exact sciences and technology</topic><topic>Mathematical models</topic><topic>Modular</topic><topic>Propagation</topic><topic>Solvers</topic><topic>State of the art</topic><topic>Strategy</topic><topic>Studies</topic><topic>Theoretical computing</topic><topic>Theory</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>NIEUWENHUIS, Robert</creatorcontrib><creatorcontrib>OLIVERAS, Albert</creatorcontrib><creatorcontrib>TINELLI, Cesare</creatorcontrib><collection>Pascal-Francis</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Journal of the ACM</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>NIEUWENHUIS, Robert</au><au>OLIVERAS, Albert</au><au>TINELLI, Cesare</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Solving SAT and SAT modulo theories : From an abstract davis-putnam-logemann-loveland procedure to DPLL(T)</atitle><jtitle>Journal of the ACM</jtitle><date>2006-11-01</date><risdate>2006</risdate><volume>53</volume><issue>6</issue><spage>937</spage><epage>977</epage><pages>937-977</pages><issn>0004-5411</issn><eissn>1557-735X</eissn><coden>JACOAH</coden><abstract>We first introduce
Abstract DPLL
, a rule-based formulation of the Davis--Putnam--Logemann--Loveland (DPLL) procedure for propositional satisfiability. This abstract framework allows one to cleanly express practical DPLL algorithms and to formally reason about them in a simple way. Its properties, such as soundness, completeness or termination, immediately carry over to the modern DPLL implementations with features such as backjumping or clause learning.We then extend the framework to Satisfiability Modulo background Theories (SMT) and use it to model several variants of the so-called
lazy approach
for SMT. In particular, we use it to introduce a few variants of a new, efficient and modular approach for SMT based on a general DPLL(
X
) engine, whose parameter
X
can be instantiated with a specialized solver
Solver
T
for a given theory
T
, thus producing a DPLL(
T
) system. We describe the high-level design of DPLL(
X
) and its cooperation with
Solver
T
, discuss the role of
theory propagation
, and describe different DPLL(
T
) strategies for some theories arising in industrial applications.Our extensive experimental evidence, summarized in this article, shows that DPLL(
T
) systems can significantly outperform the other state-of-the-art tools, frequently even in orders of magnitude, and have better scaling properties.</abstract><cop>New York, NY</cop><pub>Association for Computing Machinery</pub><doi>10.1145/1217856.1217859</doi><tpages>41</tpages></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0004-5411 |
ispartof | Journal of the ACM, 2006-11, Vol.53 (6), p.937-977 |
issn | 0004-5411 1557-735X |
language | eng |
recordid | cdi_proquest_miscellaneous_29873287 |
source | Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list); BSC - Ebsco (Business Source Ultimate) |
subjects | Algorithmics. Computability. Computer arithmetics Algorithms Applied sciences Cleaning Computer programming Computer science control theory systems Cooperation Design engineering Exact sciences and technology Mathematical models Modular Propagation Solvers State of the art Strategy Studies Theoretical computing Theory |
title | Solving SAT and SAT modulo theories : From an abstract davis-putnam-logemann-loveland procedure to DPLL(T) |
url | http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-23T11%3A46%3A59IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Solving%20SAT%20and%20SAT%20modulo%20theories%20:%20From%20an%20abstract%20davis-putnam-logemann-loveland%20procedure%20to%20DPLL(T)&rft.jtitle=Journal%20of%20the%20ACM&rft.au=NIEUWENHUIS,%20Robert&rft.date=2006-11-01&rft.volume=53&rft.issue=6&rft.spage=937&rft.epage=977&rft.pages=937-977&rft.issn=0004-5411&rft.eissn=1557-735X&rft.coden=JACOAH&rft_id=info:doi/10.1145/1217856.1217859&rft_dat=%3Cproquest_cross%3E1217407071%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c316t-3f0e062b4fa341cc80ef69fc1bb3f111ab0acfc1cdbaeae4141f3af9dc9b1e993%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=194231507&rft_id=info:pmid/&rfr_iscdi=true |