SAT Solving and Beyond: �A Fresh Intro and Recent Developments
Alexander Nadel
Technion, Data and Decision Sciences & NVIDIA, Israel
June 1, 2026
MIAO Online Seminar
This is an extended version of the talk “SAT Solving: A Fresh Intro and Recent Developments”, BIRS Seminar “Theory and Practice of SAT and Combinatorial Solving”, 2026
1
The SAT Problem
SAT: is a Boolean formula in Conjunctive Normal Form (CNF) satisfiable?
Theory: The original NP-Complete problem
Today’s practice:
This intriguing gap between theory and practice makes SAT a fascinating problem!
2
F = (a ∨ b) ∧ (¬a ∨ ¬b ∨ c)
clause #1
clause #2
Literals
Agenda
3
SAT Foundations: Backtrack Search or DPLL�Martin Davis, George Logemann, Donald Loveland: A Machine Program for Theorem Proving. Comm. ACM 5 (7), 1962.�Martin Davis, Hilary Putnam: A Computing Procedure for Quantification Theory. J. ACM 7 (1), 1960.
SAT Foundations: Backtrack Search or DPLL�Martin Davis, George Logemann, Donald Loveland: A Machine Program for Theorem Proving. Comm. ACM 5 (7), 1962.�Martin Davis, Hilary Putnam: A Computing Procedure for Quantification Theory. J. ACM 7 (1), 1960.
a + b
b’ + c
b’ + c’
a’ + b
SAT Foundations: Backtrack Search or DPLL�Martin Davis, George Logemann, Donald Loveland: A Machine Program for Theorem Proving. Comm. ACM 5 (7), 1962.�Martin Davis, Hilary Putnam: A Computing Procedure for Quantification Theory. J. ACM 7 (1), 1960.
a + b
b’ + c
b’ + c’
a’ + b
a’
SAT Foundations: Backtrack Search or DPLL�Martin Davis, George Logemann, Donald Loveland: A Machine Program for Theorem Proving. Comm. ACM 5 (7), 1962.�Martin Davis, Hilary Putnam: A Computing Procedure for Quantification Theory. J. ACM 7 (1), 1960.
a + b
b’ + c
b’ + c’
a’ + b
a + b
a’
b’
SAT Foundations: Backtrack Search or DPLL�Martin Davis, George Logemann, Donald Loveland: A Machine Program for Theorem Proving. Comm. ACM 5 (7), 1962.�Martin Davis, Hilary Putnam: A Computing Procedure for Quantification Theory. J. ACM 7 (1), 1960.
a + b
b’ + c
b’ + c’
a’ + b
a + b
a’
b’
b
SAT Foundations: Backtrack Search or DPLL�Martin Davis, George Logemann, Donald Loveland: A Machine Program for Theorem Proving. Comm. ACM 5 (7), 1962.�Martin Davis, Hilary Putnam: A Computing Procedure for Quantification Theory. J. ACM 7 (1), 1960.
a + b
b’ + c
b’ + c’
a’ + b
a + b
b’ + c
a’
b’
b
c’
SAT Foundations: Backtrack Search or DPLL�Martin Davis, George Logemann, Donald Loveland: A Machine Program for Theorem Proving. Comm. ACM 5 (7), 1962.�Martin Davis, Hilary Putnam: A Computing Procedure for Quantification Theory. J. ACM 7 (1), 1960.
a + b
b’ + c
b’ + c’
a’ + b
a + b
b’ + c
b’ + c’
a’
b’
b
c’
c
SAT Foundations: Backtrack Search or DPLL�Martin Davis, George Logemann, Donald Loveland: A Machine Program for Theorem Proving. Comm. ACM 5 (7), 1962.�Martin Davis, Hilary Putnam: A Computing Procedure for Quantification Theory. J. ACM 7 (1), 1960.
b’
b
c’
c
a + b
b’ + c
b’ + c’
a’ + b
a + b
b’ + c
b’ + c’
a’
a
SAT Foundations: Backtrack Search or DPLL�Martin Davis, George Logemann, Donald Loveland: A Machine Program for Theorem Proving. Comm. ACM 5 (7), 1962.�Martin Davis, Hilary Putnam: A Computing Procedure for Quantification Theory. J. ACM 7 (1), 1960.
a + b
b’ + c
b’ + c’
a’ + b
a’
a
b
b’
b
c’
c
a + b
b’ + c
b’ + c’
SAT Foundations: Backtrack Search or DPLL�Martin Davis, George Logemann, Donald Loveland: A Machine Program for Theorem Proving. Comm. ACM 5 (7), 1962.�Martin Davis, Hilary Putnam: A Computing Procedure for Quantification Theory. J. ACM 7 (1), 1960.
a + b
b’ + c
b’ + c’
a’ + b
b’ + c
a’
a
b
c’
b’
b
c’
c
a + b
b’ + c
b’ + c’
SAT Foundations: Backtrack Search or DPLL�Martin Davis, George Logemann, Donald Loveland: A Machine Program for Theorem Proving. Comm. ACM 5 (7), 1962.�Martin Davis, Hilary Putnam: A Computing Procedure for Quantification Theory. J. ACM 7 (1), 1960.
a + b
b’ + c
b’ + c’
a’ + b
b’ + c
b’ + c’
a’
a
b
c’
c
b’
b
c’
c
a + b
b’ + c
b’ + c’
SAT Foundations: Backtrack Search or DPLL�Martin Davis, George Logemann, Donald Loveland: A Machine Program for Theorem Proving. Comm. ACM 5 (7), 1962.�Martin Davis, Hilary Putnam: A Computing Procedure for Quantification Theory. J. ACM 7 (1), 1960.
a + b
b’ + c
b’ + c’
a’ + b
b’ + c
b’ + c’
a’
a
b
c’
c
b’
b
c’
c
a + b
b’ + c
b’ + c’
a’ + b
b’
UNSAT!
Core SAT as Resoluting Backtrack Search or �From Backtrack Search to CDCL without Implication Graphs�
a + b
b’ + c
b’ + c’
a’ + b
b’ + c
b’ + c’
a’
a
b
c’
c
b’
b
c’
c
a + b
b’ + c
b’ + c’
a’ + b
b’
c2
c1
c3
c2
c1
c3
Falsified literal:
Satisfied literal:
Unassigned literal:
c2
c1
c3
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
a’
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
a + b
a’
b’
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
a + b
a’
b’
b
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
a + b
b’ + c
a’
b’
b
c’
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
a + b
b’ + c
a’
b’
b
c’
c
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
a + b
b’ + c
b’ + c’
a’
b’
b
c’
c
Core SAT as Resoluting Backtrack Search
Resolution over the pivot x:
a + b
b’ + c
b’ + c’
a’ + b
b’
a + b
b’ + c
b’ + c’
a’
b’
b
c’
c
Rold
P(c)
Rnew
Y ∨ x
Z ∨ ¬x
Y ∨ Z
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
a
b’
a + b
b’ + c
b’ + c’
a’
b’
b
c’
c
Rnew
Rold
P(b)
Core SAT as Resoluting Backtrack Search
x’
a + b
b’ + c
b’ + c’
a’ + b
a
b’
a + b
b’ + c
b’ + c’
a’
b’
b
c’
c
Rnew
Rold
a’ + x
a’ + x
x
Core SAT as Resoluting Backtrack Search
x’
a + b
b’ + c
b’ + c’
a’ + b
a
b’
a + b
b’ + c
b’ + c’
a’
b’
b
c’
c
Rnew
Rold
a’ + x
a
a’ + x
x
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
a
b’
a + b
b’ + c
b’ + c’
a’
b’
b
c’
c
Rnew
Rold
P(b)
Core SAT as Resoluting Backtrack Search
b’
b
c’
c
a + b
b’ + c
b’ + c’
a’ + b
a
b’
a + b
b’ + c
b’ + c’
a’
a
Π(a)
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
a’
a
b
b’
b
c’
c
a
b’
a + b
b’ + c
b’ + c’
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
b’ + c
a’
a
b
c’
b’
b
c’
c
a
b’
a + b
b’ + c
b’ + c’
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
b’ + c
a’
a
b
c’
c
b’
b
c’
c
a
b’
a + b
b’ + c
b’ + c’
P(c)
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
b’ + c
b’ + c’
a’
a
b
c’
c
b’
b
c’
c
a
b’
a + b
b’ + c
b’ + c’
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
b’
b’ + c
b’ + c’
a’
a
b
c’
c
b’
b
c’
c
a
b’
a + b
b’ + c
b’ + c’
Rold
P(c)
Rnew
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
b’
b’ + c
b’ + c’
a’
a
b
c’
c
b’
b’
b
c’
c
a
b’
a + b
b’ + c
b’ + c’
Π(b)
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
b’
b’ + c
b’ + c’
a’ + b
a’
a
b
c’
c
b’
b’
b
c’
c
a
b’
a + b
b’ + c
b’ + c’
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
a’
b’
b’ + c
b’ + c’
a’ + b
a’
a
b
c’
c
b’
b’
b
c’
c
a
b’
a + b
b’ + c
b’ + c’
Rold
P(b)
Rnew
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
•
a’
b’
b’ + c
b’ + c’
a’ + b
a’
a
b
c’
c
b’
b’
b
c’
c
a
b’
a + b
b’ + c
b’ + c’
Rold
P(a)
Rnew
Core SAT as Resoluting Backtrack Search
a + b
b’ + c
b’ + c’
a’ + b
•
a’
b’
b’ + c
b’ + c’
a’ + b
a’
a
b
c’
c
b’
b’
b
c’
c
a
b’
a + b
b’ + c
b’ + c’
The final trace of DPLL is both a decision tree (top-down view) and a resolution refutation (bottom-up view)
Decision Conflict Clause Recording
: recorded; : not recorded
40
1UIP Scheme
1UIP Scheme
a + b
b’ + c
b’ + c’
a’ + b
b’
a + b
b’ + c
b’ + c’
a’
b’
b
c’
c
R
Starting with the latest unflipped variable
1UIP Scheme
a + b
b’ + c
b’ + c’
a’ + b
b’
a + b
b’ + c
b’ + c’
a’
b’
b
c’
c
P
1UIP Scheme
a + b
b’ + c
b’ + c’
a’ + b
b’
a + b
b’ + c
b’ + c’
a’
b’
b
c’
c
1UIP Scheme
a + b
b’ + c
b’ + c’
a’ + b
b’
a + b
b’ + c
b’ + c’
a’
b’
b
c’
c
1UIP Scheme
a + b
b’ + c
b’ + c’
a’ + b
b’
b’ + c
b’ + c’
b
c’
c
b’
Π(b)
Core SAT as Resoluting Backtrack Search: Final Thoughts
47
SAT Competition Winners (CNF & Appl. & Seq. & Non-incr. & All-inst.)
48
zChaff: 1UIP; BCP with 2WL; conflict-driven & local decision heuristic (VSIDS); restarts; clause deletion
Forklift: clause deletion with age&size; boost variable scores for all visited variables (conflict analysis)
Minisat: EVSIDS; conflict-clause-minimization; incremental SAT solving
SatELiteGTI: preprocessing (BVE, subsumption, self-subsumption) with gate identification
RSAT: phase saving
Precosat: luby restarts; additional preprocessing (failed literals & merging equivalent literals)
CryptoMiniSat: XOR clauses; on-the-fly subsumption
Core CDCL (RBS) Learning Decision/restart heuristics Clause management Pre/in-processing Mind pre-CNF Beyond Resolution Extensions
SAT Competition Winners (CNF & Appl. & Seq. & Non-incr. & All-inst.)
2002
zChaff
2003
Forklift
2004
zChaff
2005
SatELiteGTI
2006
2007
MiniSat
MiniSat
2008
Precosat
2009
2010
CryptoMiniSat
Moskewicz
Madigan
Zhao
Zhang
Malik
Goldberg
Novikov
Moskewicz
Madigan
Zhao
Zhang
Malik
Eén
Sörensson
Eén
Sörensson
Pipatsrisawat
Darwiche
Eén
Sörensson
Biere
Soos
MiniSat-based:
Armin Biere’s & derived:
Others:
RSAT
SAT Competition Winners (CNF & Appl. & Seq. & Non-incr. & All-inst.)
49
Glucose: literal block distance (LBD/glue) for clause quality; binary resolution during conflict analysis
Lingeling: elaborated in-processing
abcdSAT: Lingeling preprocessing (enhanced) & Glucose’s CDCL
MapleCOMSPS: SAT/UNSAT stages; 3-tiered clause management; LRB decision heuristic (SAT stage)
MapleLCMDist: DISTANCE heuristic (initially); vivification (made it work)
MapleLCMDistChronoBT: chronological backtracking
MapleLCMDistChronoBTDLv3: duplicate learnts 🡪 pervasive
Kissat: VMTF decision heuristic (UNSAT stage); advanced inprocessing; low-level optimizations (binaries inlined; watch arena); target-phase polarity selection with local search
Core CDCL (RBS) Learning Decision/restart heuristics Clause management Pre/in-processing Mind pre-CNF Beyond Resolution Extensions
2012
2013
2014
2015
2016
2017
2018
2019
2020
Glucose
Lingeling
Lingeling
Maple�COMSPS
Maple�LCMDist
Maple�LCMDist�ChronoBT
Maple�LCMDist�ChronoBTDLv3
Kissat
Audemard
Simon
Biere
Biere
Chen
Liang
Oh
Ganesh
Czarnecki
Poupart
Xiao
Luo
Li
Manya
Lu
Nadel
Ryvchin
Kochemazov
Zaikin
Kondratiev
Semenov
Biere
Fazekas
Fleury
Heisinger
abcdSAT
Glucose
Audemard
Simon
2011
MiniSat-based:
Armin Biere’s & derived:
Others:
SAT Competition Winners (CNF & Appl. & Seq. & Non-incr. & All-inst.)
50
Kissat-MAB: MAB heuristic to switch between EVSIDS and CHB – Stable (SAT) mode only
Kissat-MAB-HyWalk: combining multiple local search strategies
SBVA-Cadical: made BVA work
Kissat: clausal congruence closure; BVA; dynamic glue limit; revisited vivification
AE-Kissat-MAB: reintroduced MAB heuristic in Stable (SAT) mode with LLM-generated changes
Coming next:
Core CDCL (RBS) Learning Decision/restart heuristics Clause management Pre/in-processing Mind pre-CNF Beyond Resolution Extensions
2022
2023
2024
2025
Kissat-MAB
Cherif, Habet, Terrioux
2021
Kissat-MAB-HyWalk
Zheng, He, Chen, Zhou, Li
SBVA-Cadical
Haberlandt
Green
Kissat
Biere, Faller, Fazekas, Fleury, Froleyks, Pollitt
AE-Kissat-MAB
Ding, Luo,
C.M. Li, S. Li,
Chen,
Xiong, Wu
Kissat-MAB
AE-Kissat-MAB
SBVA
Clausal congruence closure
MiniSat-based:
Armin Biere’s & derived:
Others:
Relevant Heuristics Review
Preliminaries: Kissat’s Variable Decision Heuristic & CHB
Kissat’s modes: Stable (SAT) and Focused (UNSAT)
Chanseok Oh: Between SAT and UNSAT: The Fundamental Difference in CDCL SAT. SAT 2015: 307-323
Niklas Eén, Niklas Sörensson: An Extensible SAT-solver. SAT 2003: 502-518
CHB Heuristic
Jia Hui Liang, Vijay Ganesh, Pascal Poupart, Krzysztof Czarnecki: Exponential Recency Weighted Average Branching Heuristic for SAT Solvers. AAAI 2016: 3434-3440�
51
Kissat-MAB: SC’21 Winner�Mohamed Sami Cherif, Djamal Habet, Cyril Terrioux: Combining VSIDS and CHB Using Restarts in SAT. CP 2021.
The essence: integrated CHB-based heuristic into Kissat (stable (SAT) mode only)
Problem: neither EVSIDS nor CHB is universally better
Solution: MAB (with UCB selection strategy)
In Kissat-MAB (Stable mode only):
52
AE_kissat2025_MAB: SC’25 Winner�Hang Ding, Mao Luo, Chu-Min Li, Shunwei Li, Runyao Chen, Caiquan Xiong, Xinyun Wu: A Self-Optimizing Framework for SAT Solvers via Population Evolution and Large Language Model Collaboration. Proceedings of SAT Competition 2025.
Kissat 4.0.2 (Post-SC’24) + Kissat-MAB’s MAB heuristic for the Stable (SAT) stage with two upgrades:
New reward: log₂(decisions) / log2(conflicts). Recall Kissat-MAB: log₂(decisions) / distinctDecidedVars
LLM-suggested upgrade: momentum mechanism in MAB/UCB
At SC’25, AE_kissat2025_MAB solved 10 more satisfiable instances than the next best solver!
The contribution of each of the two upgrades is unclear…
The first LLM-empowered SC winner … but likely not the last one! See:
Cunxi Yu, Rongjian Liang, Chia-Tung Ho, Haoxing Ren: Autonomous Code Evolution Meets NP-Completeness. arXiv:2509.07367, 2025.
53
Bounded Variable Addition (BVA)�Norbert Manthey, Marijn J. H. Heule, Armin Biere: Automated Reencoding of Boolean Formulas. HVC 2012.��Andrew Haberlandt, Harrison Green, Marijn J. H. Heule: Effective Auxiliary Variables via Structured Reencoding. SAT 2023.��
de + abc
54
(d + a) (d + b) (d + c)
(e + a) (e + b) (e + c)
=
(x + a) (x + b) (x + c)
(x’ + d) (x’ + e)
BVA
BVA interpretation:
(d + a) (d + b) (d + c)
(e + a) (e + b) (e + c)
(d + e) (a + b)
(a + c) (a + d)
(x + a) (x + b) (x + c)
(x’ + d) (x’ + e)
BVA
(d + e) (a + b)
(a + c) (a + d)
BVA Properties and History�Norbert Manthey, Marijn J. H. Heule, Armin Biere: Automated Reencoding of Boolean Formulas. HVC 2012.��Andrew Haberlandt, Harrison Green, Marijn J. H. Heule: Effective Auxiliary Variables via Structured Reencoding. SAT 2023.��
BVA Properties:
BVA History:
55
Clausal Congruence Closure�Armin Biere, Katalin Fazekas, Mathias Fleury, Nils Froleyks: Clausal Congruence Closure. SAT 2024.
The idea: identify and solve Formal Equivalence Verification (FEV) between two circuits at CNF level
Previously: circuit-level solvers could quickly identify a miter & solve the problem, but SAT solvers failed
The technique: gradually extract gates
Main result: clausal congruence closure is as good as circuit-level techniques!
Cheap enough to run till completion
56
UNSAT!
Progress on SAT Competition Instances and Beyond
There is a significant progress in SAT on SC benchmarks
Progress ≈ Pareto optimization over the families or over {SAT,UNSAT}
Non-trivial research & engineering task
Steadily expanding coverage across families 🡪 the progress is real!
Yet, many applications have additional requirements:
57
Beyond SAT Competitions: Thoughts and Agenda
SAT API extensions:
SC performance improvements do not always transfer to applications. Examples:
“Introducing Intel® SAT Solver” [video], MIAO Seminars
Further in focus:
58
Hooks into the SAT Solver: Bounded Path as a Motivating Example�Amit Erez, Alexander Nadel: Finding Bounded Path in Graph using SMT for Automatic Clock Routing. CAV 2015.
The problem: find an s🡪t path of a bounded (user-provided) cost on a grid
Can be easily translated into SAT
Problem: plain SAT doesn’t scale
Next: the 2 reasons for failure & solving them with hooks into SAT
59
Bounded Path to SAT Problem: Heuristic Diverges�Amit Erez, Alexander Nadel: Finding Bounded Path in Graph using SMT for Automatic Clock Routing. CAV 2015.
60
s
t
Cost
Exceeded
Due to SAT solver’s locality principle, the next path will be very close!
61
s
t
Cost
Exceeded
Due to SAT solver’s locality principle, the next path will be very close!
Bounded Path to SAT Problem: Heuristic Diverges�Amit Erez, Alexander Nadel: Finding Bounded Path in Graph using SMT for Automatic Clock Routing. CAV 2015.
62
s
t
Cost
Exceeded
Due to SAT solver’s locality principle, the next path will be very close!
Solution:
Bounded Path to SAT Problem: Heuristic Diverges�Amit Erez, Alexander Nadel: Finding Bounded Path in Graph using SMT for Automatic Clock Routing. CAV 2015.
Applying Grid-Aware Heuristic Example�Amit Erez, Alexander Nadel: Finding Bounded Path in Graph using SMT for Automatic Clock Routing. CAV 2015.�
63
s
t
Bounded Path to SAT Problem: Self-Blocking�Amit Erez, Alexander Nadel: Finding Bounded Path in Graph using SMT for Automatic Clock Routing. CAV 2015.�
64
s
t
The problem:
The solution:
Hooks for All!�Katalin Fazekas, Aina Niemetz, Mathias Preiner, Markus Kirchweger, Stefan Szeider, Armin Biere: Satisfiability Modulo User Propagators. JAIR 2024.
A well-defined SAT API with hooks into the SAT solver (IPASIR-UP)
Implemented in the state-of-the-art solver CaDiCaL
Extends the applicability of SAT to the wide community!
Successful examples from the paper:
65
Dedicated SAT Solving for IC3 (Model Checking)�Yuheng Su, Qiusong Yang, Yiwei Ci, Yingcheng Li, Tianjun Bu, Ziyu Huang: Deeply Optimizing the SAT Solver for the IC3 Algorithm. CAV 2025.�
IC3 (aka PDR) is a widely used complete model checking algorithm
Aaron R. Bradley: SAT-Based Model Checking without Unrolling. VMCAI 2011.
Incremental SAT-based: huge number of easy queries (SAT&UNSAT)
The CAV’25 paper:
Other techniques:
A bucket-based data structure for VSIDS
SAT solvers are not reset between queries (activation variables reused)
66
Dedicated SAT Solving for IC3 (Model Checking)�Yuheng Su, Qiusong Yang, Yiwei Ci, Yingcheng Li, Tianjun Bu, Ziyu Huang: Deeply Optimizing the SAT Solver for the IC3 Algorithm. CAV 2025.�
IC3 (aka PDR) is a widely used complete model checking algorithm
Aaron R. Bradley: SAT-Based Model Checking without Unrolling. VMCAI 2011.
Incremental SAT-based: huge number of easy queries (SAT&UNSAT)
The CAV’25 paper:
Other techniques:
A bucket-based data structure for VSIDS
SAT solvers are not reset between queries (activation variables reused)
67
X(v1)
X(v2)
X(v3)
X(v4)
X(v5)
Dedicated SAT Solving for IC3 (Model Checking)�Yuheng Su, Qiusong Yang, Yiwei Ci, Yingcheng Li, Tianjun Bu, Ziyu Huang: Deeply Optimizing the SAT Solver for the IC3 Algorithm. CAV 2025.�
IC3 (aka PDR) is a widely used complete model checking algorithm
Aaron R. Bradley: SAT-Based Model Checking without Unrolling. VMCAI 2011.
Incremental SAT-based: huge number of easy queries (SAT&UNSAT)
The CAV’25 paper:
Other techniques:
A bucket-based data structure for VSIDS
SAT solvers are not reset between queries (activation variables reused)
68
X(v2)
X(v4)
X(v1)
X(v3)
X(v5)
Query 1
Dedicated SAT Solving for IC3 (Model Checking)�Yuheng Su, Qiusong Yang, Yiwei Ci, Yingcheng Li, Tianjun Bu, Ziyu Huang: Deeply Optimizing the SAT Solver for the IC3 Algorithm. CAV 2025.�
IC3 (aka PDR) is a widely used complete model checking algorithm
Aaron R. Bradley: SAT-Based Model Checking without Unrolling. VMCAI 2011.
Incremental SAT-based: huge number of easy queries (SAT&UNSAT)
The CAV’25 paper:
Other techniques:
A bucket-based data structure for VSIDS
SAT solvers are not reset between queries (activation variables reused)
69
X(v2)
X(v4)
X(v1)
X(v3)
X(v5)
Query 2
Dedicated SAT Solving for IC3 (Model Checking)�Yuheng Su, Qiusong Yang, Yiwei Ci, Yingcheng Li, Tianjun Bu, Ziyu Huang: Deeply Optimizing the SAT Solver for the IC3 Algorithm. CAV 2025.�
IC3 (aka PDR) is a widely used complete model checking algorithm
Aaron R. Bradley: SAT-Based Model Checking without Unrolling. VMCAI 2011.
Incremental SAT-based: huge number of easy queries (SAT&UNSAT)
The CAV’25 paper:
Other techniques:
A bucket-based data structure for VSIDS
SAT solvers are not reset between queries (activation variables reused)
70
X(v2)
X(v4)
X(v1)
X(v3)
X(v5)
Query 3
Dedicated SAT Solving for IC3 (Model Checking)�Yuheng Su, Qiusong Yang, Yiwei Ci, Yingcheng Li, Tianjun Bu, Ziyu Huang: Deeply Optimizing the SAT Solver for the IC3 Algorithm. CAV 2025.�
IC3 (aka PDR) is a widely used complete model checking algorithm
Aaron R. Bradley: SAT-Based Model Checking without Unrolling. VMCAI 2011.
Incremental SAT-based: huge number of easy queries (SAT&UNSAT)
The CAV’25 paper:
Other techniques:
A bucket-based data structure for VSIDS
SAT solvers are not reset between queries (activation variables reused)
71
X(v2)
X(v4)
X(v1)
X(v3)
X(v5)
Query 4
Dedicated SAT Solving for IC3 (Model Checking)�Yuheng Su, Qiusong Yang, Yiwei Ci, Yingcheng Li, Tianjun Bu, Ziyu Huang: Deeply Optimizing the SAT Solver for the IC3 Algorithm. CAV 2025.�
IC3 (aka PDR) is a widely used complete model checking algorithm
Aaron R. Bradley: SAT-Based Model Checking without Unrolling. VMCAI 2011.
Incremental SAT-based: huge number of easy queries (SAT&UNSAT)
The CAV’25 paper:
72
Dedicated SAT Solving for IC3 (Model Checking)�Yuheng Su, Qiusong Yang, Yiwei Ci, Yingcheng Li, Tianjun Bu, Ziyu Huang: Deeply Optimizing the SAT Solver for the IC3 Algorithm. CAV 2025.�
Domain-dedicated SAT solving works!
73
Chronological Backtracking : Introduction�Alexander Nadel, Vadim Ryvchin: Chronological Backtracking. SAT 2018.��
74
z’@0
Propagated @ 0
A deep conflict yielding a unit clause
Non-Chronological Backtracking (NCB)
After Backtrack, Flip & BCP
Decision level 0
y
z’@0
Chronological Backtracking (CB)
Backtracks by 1 level 🡪 �tree retained!
Example:
z@0
x
a@5
z@0
x@5
a@5
Might propagate @ any level!
z still flipped @0
Propagation
y
z
Conflict! The conflict clause: (z’)
Chronological Backtracking in SAT�Alexander Nadel, Vadim Ryvchin: Chronological Backtracking. SAT 2018.�
2001 (Chaff): NCB introduced along with 2WL-based BCP
2018 (MapleLCMDistChronoBT): CB reintroduced in a modern SAT solver
Surprisingly efficient in generic SAT solving: implementing CB in SC’17 winner won SC’18
Today: part of the leading SAT solvers
Yet, CB's impact on generic SAT solving is mild (likely due to the locality vs. retainment trade-off)
75
The Promise of CB: SAT Applications & Extensions
CB promises to be game-changing whenever:
Giuseppe Spallitta, Roberto Sebastiani, Armin Biere: Disjoint projected enumeration for SAT and SMT without blocking clauses. AIJ 2025.
Mate Soos, Kuldeep S. Meel: Engineering an Efficient Probabilistic Exact Model Counter. CAV 2025.
CB and hooks into SAT:
76
On Generalizing Solutions: The Setting�Dror Fried, Alexander Nadel and Yogev Shalmon: AllSAT for Combinational Circuits. SAT 2023. �Dror Fried, Alexander Nadel, Roberto Sebastiani and Yogev Shalmon: Entailing Generalization Boosts Enumeration. SAT 2024.
Input: a solution S for a single-output combinational circuit
Goal: generalize S
** Solution definition will be refined later
Solution Example
1
1
1
1
0
1
1
1
1
Getting this Solution from SAT (via Tseitin Encoding)
1
1
1
1
0
1
1
1
1
(k + d + c')
(k' + d’)
(k' + c)
(m' + a + b)
(m + a')
(m + b')
(p' + k + n)
(p + k')
(p + n')
(o' + p + m)
(o + p')
(o + m')
(n + d' + c')
(n' + d)
(n' + c)
(o)
Getting this Solution from SAT (via Tseitin Encoding)
1
1
1
1
0
1
1
1
1
(k + d + c')
(k' + d’)
(k' + c)
(m' + a + b)
(m + a')
(m + b')
(p' + k + n)
(p + k')
(p + n')
(o' + p + m)
(o + p')
(o + m')
(n + d' + c')
(n' + d)
(n' + c)
(o)
Generalization @ CNF Level by Unassignment:�All Clauses Must be Satisfied, but One Literal is Sufficient
1
1
1
1
0
1
1
1
1
(k + d + c')
(k' + d’)
(k' + c)
(m' + a + b)
(m + a')
(m + b')
(p' + k + n)
(p + k')
(p + n')
(o' + p + m)
(o + p')
(o + m')
(n + d' + c')
(n' + d)
(n' + c)
(o)
Generalization @ CNF Level by Unassignment:�All Clauses Must be Satisfied, but One Literal is Sufficient
X
1
1
1
0
1
1
1
1
(k + d + c')
(k' + d’)
(k' + c)
(m' + a + b)
(m + a')
(m + b')
(p' + k + n)
(p + k')
(p + n')
(o' + p + m)
(o + p')
(o + m')
(n + d' + c')
(n' + d)
(n' + c)
(o)
Generalization @ CNF Level by Unassignment:�All Clauses Must be Satisfied, but One Literal is Sufficient
would’ve been unsatisfied: (m' + a + b)
X
1
1
1
0
1
1
1
1
(k + d + c')
(k' + d’)
(k' + c)
(m' + a + b)
(m + a')
(m + b')
(p' + k + n)
(p + k')
(p + n')
(o' + p + m)
(o + p')
(o + m')
(n + d' + c')
(n' + d)
(n' + c)
would’ve been unsatisfied: (n' + c)
would’ve been unsatisfied: (n' + d)
(o)
Generalization @ CNF Level by Unassignment: Result
1
1
1
0
1
1
1
1
(k + d + c')
(k' + d')
(k' + c)
(m' + a + b)
(m + a')
(m + b')
(p' + k + n)
(p + k')
(p + n')
(o' + p + m)
(o + p')
(o + m')
(n + d' + c')
(n' + d)
(n' + c)
X
Can we do better?
Yes, but not @ CNF level!
(o)
Generalization by Forward Ternary Generalization:�Substitute the inputs by X one by one; stick if the output is still 1
1
1
1
0
1
1
1
1
X
Generalization by Forward Ternary Generalization:�Substitute the inputs by X one by one; stick if the output is still 1
1
1
0
1
1
1
X
X
X
(m' + a + b)
(m + a')
(m + b')
Generalization by Forward Ternary Generalization:�Substitute the inputs by X one by one; stick if the output is still 1
1
0
X
X
X
X
X
X
X
Generalization by Forward Ternary Generalization:�Substitute the inputs by X one by one; stick if the output is still 1
1
X
X
X
X
X
X
X
X
Generalization by Forward Ternary Generalization: Result
1
1
0
1
1
1
X
X
X
Can we do better still?
Yes, by defining solution by entailment rather than satisfaction!
Roberto Sebastiani: Are You Satisfied by This Partial Assignment? CoRR abs/2003.04225 (2020)
Generalization by Entailment �Solution: any substitution of X’s to {0,1}’s propagates to o=1
90
1
1
0
1
1
1
X
X
X
Generalization by Entailment�Solution: any substitution of X’s to {0,1}’s propagates to o=1
91
1
1
0
1
1
1
X
X
X
0
0
1
Generalization by Entailment: Result �Solution: any substitution of X’s to {0,1}’s propagates to o=1
92
1
0
1
1
1
X
X
X
0
1
X
The Generalization Hierarchy�Dror Fried, Alexander Nadel, Roberto Sebastiani and Yogev Shalmon: Entailing Generalization Boosts Enumeration. SAT 2024.
g: gate
s: satisfaction
e: entailment
The Generalization Hierarchy�Dror Fried, Alexander Nadel, Roberto Sebastiani and Yogev Shalmon: Entailing Generalization Boosts Enumeration. SAT 2024.
Every gate’s output isn’t X
1
1
1
0
1
1
1
1
X
The Generalization Hierarchy�Dror Fried, Alexander Nadel, Roberto Sebastiani and Yogev Shalmon: Entailing Generalization Boosts Enumeration. SAT 2024.
Propagating inputs 🡪 o:=1
1
1
0
1
1
1
X
X
X
Propagating inputs 🡪 o:=1
The Generalization Hierarchy�Dror Fried, Alexander Nadel, Roberto Sebastiani and Yogev Shalmon: Entailing Generalization Boosts Enumeration. SAT 2024.
Substituting all X’s by any {0,1}’s and propagating 🡪 o:=1
1
0
1
1
1
X
X
X
0
1
X
The Generalization Hierarchy�Dror Fried, Alexander Nadel, Roberto Sebastiani and Yogev Shalmon: Entailing Generalization Boosts Enumeration. SAT 2024.
In practice, the following combination works best for circuit solution enumeration:
Every gate’s output isn’t X
Propagating inputs 🡪 o:=1
J. Paul Roth, Willard G. Bouricius, and Peter R. Schneider. Programmed algorithms to
compute tests to detect and distinguish between failures in logic circuits. IEEE Trans. Electron.
Comput., 1967.
Substituting all X’s by any {0,1}’s and propagating 🡪 o:=1
Hana Chockler, Alexander Ivrii, Arie Matsliah, Shiri Moran, and Ziv Nevo: Incremental formal verification of hardware. FMCAD, 2011.
Recap
98
Backup
99
Preliminaries: Kissat’s Variable Decision Heuristic�
Kissat has two search modes: Stable (SAT) and Focused (UNSAT)
Introduced in COMiniSatPS – the baseline of Maple series (SC’16—19 winners)�Chanseok Oh: Between SAT and UNSAT: The Fundamental Difference in CDCL SAT. SAT 2015: 307-323
100
Preliminaries: CHB Decision Heuristic (ML-Inspired)�Jia Hui Liang, Vijay Ganesh, Pascal Poupart, Krzysztof Czarnecki: Exponential Recency Weighted Average Branching Heuristic for SAT Solvers. AAAI 2016: 3434-3440�
Variable score Q(x) is maintained (the higher the better). Update:
Q(x) = (1 - α) × Q(x) + α × r(x)
When is Q(x) updated?
Reward function:
r(x) = mult / (#ConflictsNow - LastConflictTouching(x) + 1)
Unlike EVSIDS, CHB updates each variable’s impact at assignment time
CHB is the predecessor of LRB used in MapleCOMSPS (SC'16 winner)
101
SC’21 🡪 SC’25 MAB/UCB Adjustment Details
SC’21: UCB[i] = reward[i]/n[i] + √ (4 * log(N+1) / n[i])
SC’25: UCB[i] = reward[i]/n[i] + √ (C_adaptive * log(N+1) / n[i])
102