Abstract
This document contains formal correctness proofs of modern SAT solvers. Following (Krstic et al, 2007) and (Nieuwenhuis et al., 2006), solvers are described using state-transition systems. Several different SAT solver descriptions are given and their partial correctness and termination is proved. These include:
- a solver based on classical DPLL procedure (using only a backtrack-search with unit propagation),
- a very general solver with backjumping and learning (similar to the description given in (Nieuwenhuis et al., 2006)), and
- a solver with a specific conflict analysis algorithm (similar to the description given in (Krstic et al., 2007)).
License
Topics
Session SATSolverVerification
- MoreList
- CNF
- Trail
- SatSolverVerification
- BasicDPLL
- NieuwenhuisOliverasTinelli
- KrsticGoel
- SatSolverCode
- AssertLiteral
- UnitPropagate
- Initialization
- ConflictAnalysis
- Decide
- SolveLoop
- FunctionalImplementation