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...

Full description

Saved in:
Bibliographic Details
Published in:Journal of the ACM 2006-11, Vol.53 (6), p.937-977
Main Authors: NIEUWENHUIS, Robert, OLIVERAS, Albert, TINELLI, Cesare
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&amp;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