- SAT solvers determine whether Boolean formulas can be satisfied.
- SAT was the first problem proved NP-complete in 1971.
- Modern CDCL solvers handle millions of clauses for chip verification.
A SAT solver is a computer program that determines whether a Boolean formula (a logical expression using AND, OR, and NOT) can be made true by some assignment of its variables. The problem it solves, known as Boolean satisfiability, was the first ever proved to be NP-complete.
Why It Matters
Key figure
1971
Year Stephen Cook proved SAT is NP-complete
The Boolean satisfiability problem sits at the foundation of theoretical computer science. In 1971, Stephen Cook at the University of Toronto proved that SAT is NP-complete, meaning every problem in the complexity class NP can be reduced to it. Leonid Levin independently reached the same conclusion in 1973 at the Russian Academy of Sciences. This result, the Cook-Levin theorem, established SAT as a universal benchmark: solve it efficiently, and you solve thousands of other hard problems too.
That theoretical weight would matter less if SAT solvers stayed slow. They did not. Modern solvers routinely handle formulas with tens of thousands of variables and millions of clauses, a performance level that would have seemed implausible in the 1990s. Intel, AMD, and other chipmakers use SAT-based tools to verify that processor designs behave correctly before fabrication. NASA has applied SAT-based planning to spacecraft operations. Software companies run SAT solvers to catch bugs in code that manual testing would miss.
The reach extends beyond engineering. In 2016, Marijn Heule, Oliver Kullmann, and Victor Marek used a SAT solver to settle the Boolean Pythagorean triples problem, producing a 200-terabyte proof (compressed to 68 gigabytes) that remains the largest mathematical proof ever generated. The computation ran for two days on the Stampede supercomputer at the Texas Advanced Computing Center.
How It Works
Key figure
200 TB
Size of largest SAT-generated mathematical proof
SAT solvers operate on formulas written in conjunctive normal form (CNF): a conjunction (AND) of clauses, where each clause is a disjunction (OR) of literals (variables or their negations). The solver's task is to find a truth assignment for all variables that satisfies every clause, or to prove that no such assignment exists.
The foundational algorithm is DPLL, introduced in 1961 by Martin Davis, George Logemann, and Donald Loveland. DPLL works by choosing a variable, assigning it true or false, simplifying the formula, and backtracking when a contradiction appears. It was a refinement of the 1960 Davis-Putnam resolution procedure.
Modern solvers use conflict-driven clause learning (CDCL), developed by Joao Marques-Silva and Karem Sakallah in 1996. When CDCL encounters a contradiction, it analyzes the conflict to learn a new clause that prevents the same mistake in future branches of the search. It also uses non-chronological backjumping, skipping back to the decision that actually caused the conflict rather than unwinding one step at a time. Most state-of-the-art solvers, including Kissat and CaDiCaL (both developed by Armin Biere and collaborators at the University of Freiburg), are built on the CDCL framework.
An annual SAT Competition, running since 2002, tracks progress. At the 2025 competition, CaDiCaL-SC2025 won the UNSAT category (solving 161 benchmark instances), while AE-Kissat-MAB won the SAT category (solving 173 instances). Google's CP-SAT solver has consistently won the MiniZinc constraint-solving competition since 2018.
Key Context
MiniSat, released in 2003 by Niklas Een and Niklas Sorensson, demonstrated that a competitive SAT solver could be written in roughly 600 lines of code. Its clean design made it a teaching tool and a foundation for dozens of derivative solvers. The simplicity was deceptive: MiniSat performed well enough to place at the 2005 SAT Competition.
Recent research is pushing SAT solving toward hybrid architectures. GaloisSAT, published in 2026, combines a differentiable solving engine on GPUs with a traditional CDCL stage on CPUs. Other teams are exploring quantum SAT solvers using Grover's algorithm and hardware accelerators using resistive memory, with one 2026 study in Nature Communications reporting up to 182x speedups over conventional digital implementations.
FAQ
Is the Boolean satisfiability problem the same as the P vs NP problem?
No, but they are closely linked. SAT is the first problem proved NP-complete, so if anyone finds a polynomial-time SAT solver, it would prove P = NP and earn a $1 million Clay Millennium Prize. No such algorithm is known.
What is the difference between a SAT solver and an SMT solver?
A SAT solver works on pure Boolean formulas. An SMT (satisfiability modulo theories) solver extends this to richer domains, handling constraints over integers, real numbers, arrays, and bit vectors. SMT solvers typically use a SAT solver as their core engine.
Can SAT solvers handle any computational problem?
In principle, any problem in the complexity class NP can be encoded as a SAT instance. In practice, the encoding may produce a formula too large to solve efficiently. SAT solvers excel on structured problems from hardware verification, planning, and combinatorics, but struggle with random or specially crafted adversarial instances.
How fast are modern SAT solvers compared to earlier versions?
The 2025 SAT Competition winner solves roughly twice as many benchmark instances as the 2006 winner. The improvement comes not from raw hardware speed alone but from algorithmic advances in clause learning, restart strategies, and preprocessing techniques developed over two decades of competition-driven research.
Related Reading




Sources
- Primary Research: The Complexity of Theorem Proving Procedures (Cook, 1971)
- Additional Context:
- A Machine Program for Theorem Proving (Davis, Logemann, Loveland, 1962)
- Solving and Verifying the Boolean Pythagorean Triples Problem (Heule, Kullmann, Marek, 2016)
- SAT Competition 2025 Results (satcompetition.github.io)
- SAT solver (Wikipedia)
Fact Check: Claim-by-Claim Verification Verified
All 15 factual claims verified. Core claims about Cook-Levin theorem (1971), DPLL algorithm (1961), CDCL development (1996), and Pythagorean triples proof (200 TB, 2016) all confirmed by multiple sources. CP-SAT/MiniZinc claim softened from "every year" to "consistently" after external review.
Sources used for verification
- SAT solver - wikipedia.org
- Cook-Levin theorem - wikipedia.org
- SAT Competition 2025 - satcompetition.github.io
- Boolean Pythagorean Triples - cs.utexas.edu
- GaloisSAT - arxiv.org
