An abstract interpretation of DPLL(T)
DPLL(T) is a central algorithm for Satisfiability Modulo Theories (SMT) solvers. The algorithm combines results of reasoning about the Boolean structure of a formula with reasoning about conjunctions of theory facts to decide satisfiability. This architecture enables modern solvers to combine the pe...
Main Authors: | , , , , |
---|---|
Other Authors: | |
Format: | Conference item |
Published: |
Springer
2013
|
_version_ | 1826294953201893376 |
---|---|
author | Brain, M D'Silva, V Haller, L Griggio, A Kroening, D |
author2 | Giacobazzi, R |
author_facet | Giacobazzi, R Brain, M D'Silva, V Haller, L Griggio, A Kroening, D |
author_sort | Brain, M |
collection | OXFORD |
description | DPLL(T) is a central algorithm for Satisfiability Modulo Theories (SMT) solvers. The algorithm combines results of reasoning about the Boolean structure of a formula with reasoning about conjunctions of theory facts to decide satisfiability. This architecture enables modern solvers to combine the performance benefits of propositional satisfiability solvers and conjunctive theory solvers. We characterise DPLL(T) as an abstract interpretation algorithm that computes a product of two abstractions. Our characterisation allows a new understanding of DPLL(T) as an instance of an abstract procedure to combine reasoning engines beyond propositional solvers and conjunctive theory solvers. In addition, we show theoretically that the split into Boolean and theory reasoning is sometimes unnecessary and demonstrate empirically that it can be detrimental to performance. |
first_indexed | 2024-03-07T03:53:39Z |
format | Conference item |
id | oxford-uuid:c21f8243-8316-4ccc-b266-85a4a80b8846 |
institution | University of Oxford |
last_indexed | 2024-03-07T03:53:39Z |
publishDate | 2013 |
publisher | Springer |
record_format | dspace |
spelling | oxford-uuid:c21f8243-8316-4ccc-b266-85a4a80b88462022-03-27T06:06:39ZAn abstract interpretation of DPLL(T)Conference itemhttp://purl.org/coar/resource_type/c_5794uuid:c21f8243-8316-4ccc-b266-85a4a80b8846Symplectic Elements at OxfordSpringer2013Brain, MD'Silva, VHaller, LGriggio, AKroening, DGiacobazzi, RBerdine, JMastroeni, IDPLL(T) is a central algorithm for Satisfiability Modulo Theories (SMT) solvers. The algorithm combines results of reasoning about the Boolean structure of a formula with reasoning about conjunctions of theory facts to decide satisfiability. This architecture enables modern solvers to combine the performance benefits of propositional satisfiability solvers and conjunctive theory solvers. We characterise DPLL(T) as an abstract interpretation algorithm that computes a product of two abstractions. Our characterisation allows a new understanding of DPLL(T) as an instance of an abstract procedure to combine reasoning engines beyond propositional solvers and conjunctive theory solvers. In addition, we show theoretically that the split into Boolean and theory reasoning is sometimes unnecessary and demonstrate empirically that it can be detrimental to performance. |
spellingShingle | Brain, M D'Silva, V Haller, L Griggio, A Kroening, D An abstract interpretation of DPLL(T) |
title | An abstract interpretation of DPLL(T) |
title_full | An abstract interpretation of DPLL(T) |
title_fullStr | An abstract interpretation of DPLL(T) |
title_full_unstemmed | An abstract interpretation of DPLL(T) |
title_short | An abstract interpretation of DPLL(T) |
title_sort | abstract interpretation of dpll t |
work_keys_str_mv | AT brainm anabstractinterpretationofdpllt AT dsilvav anabstractinterpretationofdpllt AT hallerl anabstractinterpretationofdpllt AT griggioa anabstractinterpretationofdpllt AT kroeningd anabstractinterpretationofdpllt AT brainm abstractinterpretationofdpllt AT dsilvav abstractinterpretationofdpllt AT hallerl abstractinterpretationofdpllt AT griggioa abstractinterpretationofdpllt AT kroeningd abstractinterpretationofdpllt |