versat: a verified modern SAT solver

  • Authors:
  • Duckki Oe;Aaron Stump;Corey Oliver;Kevin Clancy

  • Affiliations:
  • Computer Science, The University of Iowa;Computer Science, The University of Iowa;Computer Science, The University of Iowa;Computer Science, The University of Iowa

  • Venue:
  • VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents versat, a formally verified SAT solver incorporating the essential features of modern SAT solvers, including clause learning, watched literals, optimized conflict analysis, non-chronological backtracking, and decision heuristics. Unlike previous related work on SAT-solver verification, our implementation uses efficient low-level data structures like mutable C arrays for clauses and other solver state, and machine integers for literals. The implementation and proofs are written in Guru, a verified-programming language. We compare versat to a state-of-the-art SAT solver that produces certified "unsat" answers. We also show through an empirical evaluation that versat can solve SAT problems on the modern scale.