2,097 research outputs found
Generating Extended Resolution Proofs with a BDD-Based SAT Solver
In 2006, Biere, Jussila, and Sinz made the key observation that the
underlying logic behind algorithms for constructing Reduced, Ordered Binary
Decision Diagrams (BDDs) can be encoded as steps in a proof in the extended
resolution logical framework. Through this, a BDD-based Boolean satisfiability
(SAT) solver can generate a checkable proof of unsatisfiability for a set of
clauses. Such a proof indicates that the formula is truly unsatisfiable without
requiring the user to trust the BDD package or the SAT solver built on top of
it.
We extend their work to enable arbitrary existential quantification of the
formula variables, a critical capability for BDD-based SAT solvers. We
demonstrate the utility of this approach by applying a prototype solver to
several problems that are very challenging for search-based SAT solvers,
obtaining polynomially sized proofs on benchmarks for parity formulas, as well
as the Urquhart, mutilated chessboard, and pigeonhole problems.Comment: Extended version of paper published at TACAS 202
A Survey of Satisfiability Modulo Theory
Satisfiability modulo theory (SMT) consists in testing the satisfiability of
first-order formulas over linear integer or real arithmetic, or other theories.
In this survey, we explain the combination of propositional satisfiability and
decision procedures for conjunctions known as DPLL(T), and the alternative
"natural domain" approaches. We also cover quantifiers, Craig interpolants,
polynomial arithmetic, and how SMT solvers are used in automated software
analysis.Comment: Computer Algebra in Scientific Computing, Sep 2016, Bucharest,
Romania. 201
Transfer Function Synthesis without Quantifier Elimination
Traditionally, transfer functions have been designed manually for each
operation in a program, instruction by instruction. In such a setting, a
transfer function describes the semantics of a single instruction, detailing
how a given abstract input state is mapped to an abstract output state. The net
effect of a sequence of instructions, a basic block, can then be calculated by
composing the transfer functions of the constituent instructions. However,
precision can be improved by applying a single transfer function that captures
the semantics of the block as a whole. Since blocks are program-dependent, this
approach necessitates automation. There has thus been growing interest in
computing transfer functions automatically, most notably using techniques based
on quantifier elimination. Although conceptually elegant, quantifier
elimination inevitably induces a computational bottleneck, which limits the
applicability of these methods to small blocks. This paper contributes a method
for calculating transfer functions that finesses quantifier elimination
altogether, and can thus be seen as a response to this problem. The
practicality of the method is demonstrated by generating transfer functions for
input and output states that are described by linear template constraints,
which include intervals and octagons.Comment: 37 pages, extended version of ESOP 2011 pape
Notes on "Bounds on BDD-Based Bucket Elimination''
This paper concerns Boolean satisfiability (SAT) solvers based on Ordered
Binary Decision Diagrams (BDDs), especially those that can generate proofs of
unsatisfiability. Mengel (arXiv:2306.00886) has presented a theoretical
analysis that a BDD-based SAT solver can generate a proof of unsatisfiability
for the pigeonhole problem (PHP) in polynomial time, even when the problem
is encoded in the standard ``direct'' form. His approach is based on bucket
elimination, using different orderings for the variables in the BDDs than in
the buckets. We show experimentally that these proofs scale as . We
also confirm the exponential scaling that occurs when the same variable
ordering is used for the BDDs as for the buckets.Comment: Unpublished not
Efficient Certified Resolution Proof Checking
We present a novel propositional proof tracing format that eliminates complex
processing, thus enabling efficient (formal) proof checking. The benefits of
this format are demonstrated by implementing a proof checker in C, which
outperforms a state-of-the-art checker by two orders of magnitude. We then
formalize the theory underlying propositional proof checking in Coq, and
extract a correct-by-construction proof checker for our format from the
formalization. An empirical evaluation using 280 unsatisfiable instances from
the 2015 and 2016 SAT competitions shows that this certified checker usually
performs comparably to a state-of-the-art non-certified proof checker. Using
this format, we formally verify the recent 200 TB proof of the Boolean
Pythagorean Triples conjecture
DepQBF 6.0: A Search-Based QBF Solver Beyond Traditional QCDCL
We present the latest major release version 6.0 of the quantified Boolean
formula (QBF) solver DepQBF, which is based on QCDCL. QCDCL is an extension of
the conflict-driven clause learning (CDCL) paradigm implemented in state of the
art propositional satisfiability (SAT) solvers. The Q-resolution calculus
(QRES) is a QBF proof system which underlies QCDCL. QCDCL solvers can produce
QRES proofs of QBFs in prenex conjunctive normal form (PCNF) as a byproduct of
the solving process. In contrast to traditional QCDCL based on QRES, DepQBF 6.0
implements a variant of QCDCL which is based on a generalization of QRES. This
generalization is due to a set of additional axioms and leaves the original
Q-resolution rules unchanged. The generalization of QRES enables QCDCL to
potentially produce exponentially shorter proofs than the traditional variant.
We present an overview of the features implemented in DepQBF and report on
experimental results which demonstrate the effectiveness of generalized QRES in
QCDCL.Comment: 12 pages + appendix; to appear in the proceedings of CADE-26, LNCS,
Springer, 201
Partial Quantifier Elimination By Certificate Clauses
We study partial quantifier elimination (PQE) for propositional CNF formulas.
In contrast to full quantifier elimination, in PQE, one can limit the set of
clauses taken out of the scope of quantifiers to a small subset of target
clauses. The appeal of PQE is twofold. First, PQE can be dramatically simpler
than full quantifier elimination. Second, it provides a language for performing
incremental computations. Many verification problems (e.g. equivalence checking
and model checking) are inherently incremental and so can be solved in terms of
PQE. Our approach is based on deriving clauses depending only on unquantified
variables that make the target clauses . Proving redundancy
of a target clause is done by construction of a ``certificate'' clause implying
the former. We describe a PQE algorithm called that employs
the approach above. We apply to generating properties of a
design implementation that are not implied by specification. The existence of
an property means that this implementation is buggy. Our
experiments with HWMCC-13 benchmarks suggest that can be used
for generating properties of real-life designs
Symbolic reactive synthesis
In this thesis, we develop symbolic algorithms for the synthesis of reactive systems. Synthesis, that is the task of deriving correct-by-construction implementations from formal specifications, has the potential to eliminate the need for the manual—and error-prone—programming task. The synthesis problem can be formulated as an infinite two-player game, where the system player has the objective to satisfy the specification against all possible actions of the environment player. The standard synthesis algorithms represent the underlying synthesis game explicitly and, thus, they scale poorly with respect to the size of the specification. We provide an algorithmic framework to solve the synthesis problem symbolically. In contrast to the standard approaches, we use a succinct representation of the synthesis game which leads to improved scalability in terms of the symbolically represented parameters. Our algorithm reduces the synthesis game to the satisfiability problem of quantified Boolean formulas (QBF) and dependency quantified Boolean formulas (DQBF). In the encodings, we use propositional quantification to succinctly represent different parts of the implementation, such as the state space and the transition function. We develop highly optimized satisfiability algorithms for QBF and DQBF. Based on a counterexample-guided abstraction refinement (CEGAR) loop, our algorithms avoid an exponential blow-up by using the structure of the underlying symbolic encodings. Further, we extend the solving algorithms to extract certificates in the form of Boolean functions, from which we construct implementations for the synthesis problem. Our empirical evaluation shows that our symbolic approach significantly outperforms previous explicit synthesis algorithms with respect to scalability and solution quality.In dieser Dissertation werden symbolische Algorithmen für die Synthese von reaktiven Systemen entwickelt. Synthese, d.h. die Aufgabe, aus formalen Spezifikationen korrekte Implementierungen abzuleiten, hat das Potenzial, die manuelle und fehleranfällige Programmierung überflüssig zu machen. Das Syntheseproblem kann als unendliches Zweispielerspiel verstanden werden, bei dem der Systemspieler das Ziel hat, die Spezifikation gegen alle möglichen Handlungen des Umgebungsspielers zu erfüllen. Die Standardsynthesealgorithmen stellen das zugrunde liegende Synthesespiel explizit dar und skalieren daher schlecht in Bezug auf die Größe der Spezifikation. Diese Arbeit präsentiert einen algorithmischen Ansatz, der das Syntheseproblem symbolisch löst. Im Gegensatz zu den Standardansätzen wird eine kompakte Darstellung des Synthesespiels verwendet, die zu einer verbesserten Skalierbarkeit der symbolisch dargestellten Parameter führt. Der Algorithmus reduziert das Synthesespiel auf das Erfüllbarkeitsproblem von quantifizierten booleschen Formeln (QBF) und abhängigkeitsquantifizierten booleschen Formeln (DQBF). In den Kodierungen verwenden wir propositionale Quantifizierung, um verschiedene Teile der Implementierung, wie den Zustandsraum und die Übergangsfunktion, kompakt darzustellen. Wir entwickeln hochoptimierte Erfüllbarkeitsalgorithmen für QBF und DQBF. Basierend auf einer gegenbeispielgeführten Abstraktionsverfeinerungsschleife (CEGAR) vermeiden diese Algorithmen ein exponentielles Blow-up, indem sie die Struktur der zugrunde liegenden symbolischen Kodierungen verwenden. Weiterhin werden die Lösungsalgorithmen um Zertifikate in Form von booleschen Funktionen erweitert, aus denen Implementierungen für das Syntheseproblem abgeleitet werden. Unsere empirische Auswertung zeigt, dass unser symbolischer Ansatz die bisherigen expliziten Synthesealgorithmen in Bezug auf Skalierbarkeit und Lösungsqualität deutlich übertrifft
Partial Quantifier Elimination
We consider the problem of Partial Quantifier Elimination (PQE). Given
formula exists(X)[F(X,Y) & G(X,Y)], where F, G are in conjunctive normal form,
the PQE problem is to find a formula F*(Y) such that F* & exists(X)[G] is
logically equivalent to exists(X)[F & G]. We solve the PQE problem by
generating and adding to F clauses over the free variables that make the
clauses of F with quantified variables redundant. The traditional Quantifier
Elimination problem (QE) is a special case of PQE where G is empty so all
clauses of the input formula with quantified variables need to be made
redundant. The importance of PQE is twofold. First, many problems are more
naturally formulated in terms of PQE rather than QE. Second, in many cases PQE
can be solved more efficiently than QE. We describe a PQE algorithm based on
the machinery of dependency sequents and give experimental results showing the
promise of PQE
Towards Verifying Nonlinear Integer Arithmetic
We eliminate a key roadblock to efficient verification of nonlinear integer
arithmetic using CDCL SAT solvers, by showing how to construct short resolution
proofs for many properties of the most widely used multiplier circuits. Such
short proofs were conjectured not to exist. More precisely, we give n^{O(1)}
size regular resolution proofs for arbitrary degree 2 identities on array,
diagonal, and Booth multipliers and quasipolynomial- n^{O(\log n)} size proofs
for these identities on Wallace tree multipliers.Comment: Expanded and simplified with improved result
- …