LLM2SMT: Building an SMT Solver with Zero Human-Written Code

📅 2026-03-06
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work investigates whether large language models can autonomously construct software systems with formal reasoning capabilities, specifically by generating from scratch a complete DPLL(T)-style SMT solver. The resulting solver supports quantifier-free uninterpreted functions (QF_UF), incorporates preprocessing and the Nieuwenhuis–Oliveras congruence closure algorithm, and automatically produces formal proofs in Lean for unsatisfiable instances. To the best of our knowledge, this is the first SMT solver fully generated by a large language model without any human-written code that is capable of emitting machine-checkable proofs. Experimental evaluation on standard SMT-LIB benchmarks demonstrates competitive performance, substantially advancing the frontier of AI-driven autonomous construction of sophisticated formal reasoning tools.

Technology Category

Application Category

📝 Abstract
Whether LLMs can reason or write software is widely debated, but whether they can write software that itself reasons is largely unexplored. We present a case study in which an LLM coding agent builds a complete DPLL(T)-style SMT solver for QF_UF with zero human-written code. The solver implements the Nieuwenhuis-Oliveras congruence closure algorithm, includes preprocessing, and emits Lean proofs for unsatisfiable instances. We describe the development process and key challenges, and show that the resulting solver is competitive on SMT-LIB benchmarks.
Problem

Research questions and friction points this paper is trying to address.

LLM
SMT solver
automated reasoning
code generation
QF_UF
Innovation

Methods, ideas, or system contributions that make the work stand out.

LLM
SMT solver
DPLL(T)
congruence closure
automated reasoning
🔎 Similar Papers
No similar papers found.
Mikoláš Janota
Mikoláš Janota
CTU Prague
SMTMachine learningQuantifiersFormal Methods
M
Mirek Olšák
Czech Technical University, Czechia