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

Full description

Bibliographic Details
Main Authors: Brain, M, D'Silva, V, Haller, L, Griggio, A, Kroening, D
Other Authors: Giacobazzi, R
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