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

    Similar works

    Full text

    thumbnail-image