Applications of SAT solving

Abstract: In the area of formal verification it is well known that there can be no single logic that suits all needs. This insight motivates the diversity of this dissertation: it contains contributions to SAT solving, First Order theorem proving and Model Finding, and Symbolic Model Checking.

A growing number of problem domains are successfully being tackled by SAT solvers. Following the current trend of extending and adapting SAT solvers we present a detailed description of a SAT solver designed for that particular purpose. The description bridges a gap between theory and practice, serving as a tutorial on modern SAT solving algorithms. Among other things we describe how to solve a series of related SAT problems efficiently, called incremental SAT solving.

For finding finite first order models, the MACE-style method that is based on SAT solving, is well-known. We improve the basic method by several techniques, that can be loosely classified as either transformations that make the reduction to SAT result in fewer clauses, or techniques that are designed to speed up the search of the SAT solver. The resulting tool, called Paradox, performed well in the SAT division of the CASC-19 competition. Recently, there has been large interest in methods for safety property verification that are based on SAT solving. One example is temporal induction, also called k-induction. The method requires a sequence of increasingly stronger induction proofs to be performed.

We show how this sequence of proofs can be solved more efficiently using incremental SAT solving. Constraint merging tableaux maintain a system of all closing substitutions of all subtableau up to a certain depth, which is incrementally increased. This avoids backtracking as necessary in destructive first order free variable tableaux. We analyse the reasons why lazy functional implementations so far have been problematic, and we give a solution. The resulting implementation in Haskell is compact and modular.

  This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.