DRAT Proofs of Unsatisfiability for SAT Modulo Monotonic Theories
Nick Feng, Alan J. Hu, Sam Bayless, Syed M. Iqbal, Patrick Trentin, Mike Whalen, Lee Pike, John Backes
TL;DR
This paper addresses the challenge of producing independently checkable proofs for UNSAT in SAT Modulo Monotonic Theories (SMMT), a practically important fragment of SMT. The authors propose a method that starts from propositional definitions of theory predicates, then constructs proof-specific Horn upper-bounds through instantiation-based reasoning, enabling DRAT-proof verification without theory-specific checkers. They implement the approach as MonoProof within MonoSAT and demonstrate minimal solver overhead (7.41% geometric mean slowdown, 28.8% worst-case) while solving industrial-scale benchmarks that were intractable with prior methods. The work delivers pure DRAT certificates by combining propositional reasoning with Horn approximations, achieving scalable, checkable UNSAT proofs for key SMMT theories such as graph reachability and max-flow on symbolic graphs, BV comparisons, and BV sums, with a clear path to extending to additional finite-domain monotonic theories and new proof formats.
Abstract
Generating proofs of unsatisfiability is a valuable capability of most SAT solvers, and is an active area of research for SMT solvers. This paper introduces the first method to efficiently generate proofs of unsatisfiability specifically for an important subset of SMT: SAT Modulo Monotonic Theories (SMMT), which includes many useful finite-domain theories (e.g., bit vectors and many graph-theoretic properties) and is used in production at Amazon Web Services. Our method uses propositional definitions of the theory predicates, from which it generates compact Horn approximations of the definitions, which lead to efficient DRAT proofs, leveraging the large investment the SAT community has made in DRAT. In experiments on practical SMMT problems, our proof generation overhead is minimal (7.41% geometric mean slowdown, 28.8% worst-case), and we can generate and check proofs for many problems that were previously intractable.
