SPLASH 2025
Sun 12 - Sat 18 October 2025 Singapore
co-located with ICFP/SPLASH 2025
Sat 18 Oct 2025 14:00 - 14:15 at Orchid Small - Proofs Chair(s): Peter Thiemann

Bitvectors are foundational for automated reasoning. A few interactive theorem provers (ITP), such as Lean, have strong support for deciding \emph{fixed-width} bitvector predicates by means of bitblasting. However, even these ITPs provide little automation for \emph{width-independent} bitvector predicates. To fill this gap, we contribute novel, mechanized decision procedures for width-independent bitvector predicates in Lean. Classical algorithms to decide fragments of width-independent bitvector theory can be viewed from the lens of model checking, where the formula corresponds to an automaton and the correctness of the formula is a safety property. However, we cannot currently use this lens decide mechanized proofs, as there are no executable, fast, and formally verified model checking algorithms that can be used interactively \emph{from within} ITPs. To fill this gap, we mechanize key algorithms in the model checking literature: $k$-induction, automata reachability, automata emptiness checking, and automata minimization. Using these mechanized algorithms, we contribute scalable, mechanized, decision procedures for width-independent bitvector predicates. Furthermore, for controlled fragments of mixtures of arithmetic and bitwise operations which occur in the deobfuscation literature, we mechanize a recent fast algorithm (MBA-Blast), which outperforms the more general procedures on this fragment. Finally, we evaluate our decision procedures on benchmarks from classical compiler problems such as Hacker’s Delight and the LLVM peephole optimizer, as well as on equivalence checking problems for program obfuscation. Our tools solve 100% of Hacker’s Delight and of the deobfuscation dataset, and 27% of peephole rewrites extracted from LLVM’s peephole rewriting test suite. Our new decision procedures provide a push-button experience for width-independent bitvector reasoning in interactive theorem provers, and, more broadly, pave the way for foundational algorithms for fast, formally verified model checking.

Sat 18 Oct

Displayed time zone: Perth change

13:45 - 15:30
ProofsOOPSLA at Orchid Small
Chair(s): Peter Thiemann University of Freiburg
13:45
15m
Talk
Adaptive Shielding via Parametric Safety Proofs
OOPSLA
Yao Feng Tsinghua University, Jun Zhu Nankai University, André Platzer Karlsruhe Institute of Technology (KIT), Jonathan Laurent Carnegie Mellon University / Karlsruhe Institute of Technology
14:00
15m
Talk
Certified Decision Procedures for Width-Independent Bitvector Predicates
OOPSLA
Siddharth Bhat University of Cambridge, Leo Stefanesco University of Cambridge, Chris Hughes Independent Researcher, Tobias Grosser University of Cambridge
14:15
15m
Talk
Checking $\delta$-Satisfiability of Reals with Integrals
OOPSLA
Cody Rivera University of Illinois, Urbana-Champaign, Bishnu Bhusal University of Missouri, Rohit Chadha University of Missouri, A. Prasad Sistla University of Illinois at Chicago, Mahesh Viswanathan University of Illinois at Urbana-Champaign
14:30
15m
Talk
Coinductive Proofs of Regular Expression Equivalence in Zero Knowledge
OOPSLA
John C. Kolesar Yale University, Shan Ali Yale University, Timos Antonopoulos Yale University, Ruzica Piskac Yale University
14:45
15m
Talk
Incremental Certified Programming
OOPSLA
Tomás Diaz University of Chile, Kenji Maillard Inria – LS2N, Université de Nantes, Nicolas Tabareau Inria, Éric Tanter University of Chile
15:00
15m
Talk
Pathological Cases for a Class of Reachability-Based Garbage Collectors
OOPSLA
Matthew Sotoudeh Stanford University
Link to publication
15:15
15m
Talk
SafeTree: Expressive Tree Policies for Microservices
OOPSLA
Karuna Grewal Cornell University, Brighten Godfrey UIUC and Broadcom, Justin Hsu Cornell University