select smt solver

Designs and implements methods or components that choose and configure SMT solver backends for verification or constraint-solving tasks. Analyzes formula and property structure to route queries to the most effective solver, manage solver integration, and reduce runtime and variability across designs.

selectsmtsolver

Recent Skill Trend

Momentum and market value over time
Trending
Score
No comparison yet
0.07
Oct 01, 2026Oct 01, 2026
Career
Value
No comparison yet
$200K/year
Oct 01, 2026Oct 01, 2026

Must-Read Papers

Most classic and influential ideas
View more

Refinement-Types Driven Development: A study

Sep 18, 2025
FD
Facundo Domínguez
🏛️ Tweag

SMT solvers are traditionally confined to formal verification, limiting their utility in everyday programming tasks—particularly in enhancing standard type checkers’ capabilities for program composition and complex scoping (e.g., compiler binders). Method: We propose deep integration of refinement types into the compiler’s static checking pipeline, leveraging SMT solvers to automatically discharge refinement constraints. Building on Liquid Haskell, we design and implement an SMT encoding prototype supporting the theory of finite maps. Contribution/Results: Our approach significantly improves type-checking precision and developer experience by enabling richer behavioral specifications and more precise reasoning within the type system. Evaluation demonstrates substantial gains in correctness and constructibility for compiler binder scopes and other realistic scenarios. The resulting static assurance mechanism bridges practical usability with formal reliability, extending SMT-based reasoning beyond verification into mainstream compilation and development workflows.

Advocating broader SMT solver use beyond formal verificationEnhancing type checkers through SMT-integrated refinement typesSimplifying programming tasks with refinement types and solvers

Frequent SMT solver invocations in symbolic/concolic execution impose a severe performance bottleneck. Method: This paper proposes a generalized reuse technique targeting unsatisfiable (UNSAT) cores, moving beyond conventional caching that only supports reuse of syntactically equivalent or structurally similar formulas. We systematically investigate *semantic-preserving mappings of UNSAT cores under arbitrary variable substitutions*, leveraging UNSAT core extraction, variable substitution modeling, subformula isomorphism checking, and cache index optimization to enable cross-formula-structure reuse. Contribution/Results: Evaluated on standard benchmarks, our approach achieves a 74% UNSAT core reuse rate—33 percentage points higher than Utopia—significantly reducing solver invocations and substantially decreasing execution time in complex scenarios. By enabling reuse across semantically equivalent but syntactically divergent formulas, our method overcomes the semantic limitations inherent in prior caching strategies.

Extends reuse of unsatisfiable core resultsImproves efficiency of concolic and symbolic executionReduces SMT solver invocations in program analysis

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.

automated reasoningcode generationLLM

Evaluating SAT and SMT Solvers on Large-Scale Sudoku Puzzles

Jan 15, 2025
LD
Liam Davis
🏛️ Amherst College

This study systematically evaluates the solving performance of SAT and SMT solvers on ultra-large-scale Sudoku puzzles (25×25), focusing on solution efficiency and success rates across varying difficulty levels. Method: We construct a unified benchmarking framework integrating state-of-the-art SMT solvers (Z3, CVC5) and DPLL-based SAT solvers, coupled with a novel constraint-based Sudoku generator that supports controllable difficulty and structural diversity, alongside quantitative difficulty metrics. Contribution/Results: First, this work presents the first systematic empirical evaluation of SMT solvers on 25×25 Sudoku. Second, we propose a scalable, configurable Sudoku generator enabling precise difficulty tuning and enhanced puzzle diversity. Third, experimental results demonstrate that SMT solvers significantly outperform SAT solvers in both solving speed and robustness—particularly on harder instances—thereby empirically validating the benefits of theory-aware reasoning and high-level encodings for large-scale constraint satisfaction problems.

large-scale SudokuSAT solversSMT solvers

Latest Papers

What's happening recently
View more

This work addresses the critical challenge of reliably integrating automated reasoning tools—such as theorem provers, SAT/SMT solvers, and termination analyzers—with proof assistants to build highly trustworthy systems. It presents a systematic survey and comparative analysis of two principal technical approaches: certification and formal verification. The study examines core methodologies including logical encoding, result replay and checking, and integration mechanisms within proof assistants. By elucidating the respective strengths and limitations of these methods and illustrating them through multiple successful case studies, the paper offers clear methodological guidance for constructing high-assurance automated reasoning systems, thereby substantially enhancing the verifiability and trustworthiness of their outputs.

automatic deductionproof assistantsSAT solvers

This work addresses the lack of formal guarantees regarding semantic preservation during problem reformulation and solver correctness in constraint programming. It presents the first end-to-end verified framework implemented in the Lean theorem prover, enabling formal proofs of parameterized equivalence, equisatisfiability, and symmetry-breaking correctness for entire families of problems. The approach combines general, parameterized proofs with instance-level certificate checking, thereby eliminating the need to trust external solvers. Verified certificates are produced via backend transformations, and a single high-level proof suffices for arbitrarily large instances. This methodology achieves dramatic search-space reductions—up to a factor of twenty million—and enables full verification of the largest instances in just a few minutes.

constraint programmingconstraint reformulationformal verification

This work addresses the limitations of existing SMT-based program verification tools, which suffer from insufficient expressiveness and low solver trustworthiness. To overcome these challenges, the authors propose FLEX—the first end-to-end foundational Constrained Horn Clause (CHC) solver implemented entirely within Lean. FLEX encodes CHCs as propositions verifiable by Lean’s trusted kernel and integrates metaprogramming tactics with Floyd-Hoare semantics to enable composable strategies for verification condition generation and solving. By leveraging Lean’s expressive logic, this approach transcends the representational constraints of SMT solvers and supports correctness proofs for arbitrary functions within Lean’s rich ecosystem. Evaluated on the FLUX benchmark, FLEX automatically solves 95.7% of CHC problems and successfully verifies multiple low-level Rust libraries.

Constrained Horn Clausesexpressivenessfoundational verification

This study addresses the dynamic data-structure-constrained satisfiability problem (D2SCSP), a challenge in functional verification where runtime expansion of data structures causes frequent changes in variables and constraints, leading to substantial overhead from repeated solving. The work presents the first formal definition of D2SCSP and introduces a dependency-guided problem decomposition framework. By integrating incremental SAT/SMT encoding, a constraint activation mechanism, and solver state reuse, the proposed approach significantly enhances solving efficiency in dynamic constraint environments. Experimental results on industrial-scale benchmarks demonstrate an average speedup of 24.80× over baseline methods and a 1.72× improvement compared to state-of-the-art commercial simulators.

Constrained-Random VerificationConstraint Satisfaction ProblemDynamic Data Structure

This work proposes a native bounded structural model finding approach within the Maude rewriting logic framework, circumventing the reliance on external SAT/SMT solvers that hinders direct verification of software designs in their original formal setting. The method leverages symbolic reachability to automatically generate finite object configurations from class declarations and graph/data constraints, eliminating the need for custom generators. It introduces an obligation-driven bounded calculus that decouples object creation from reference assignment and integrates ACU matching for symmetry reduction. Correctness of folding is ensured via coverage-preserving entailment checks. By unifying symbolic rewriting, SMT-based pruning, and state exploration modulo equational theories, the approach guarantees termination, bounded completeness, and soundness. A prototype implementation demonstrates its effectiveness and expressiveness in generating structural models.

bounded model findingexternal tool dependencySAT/SMT translation

Hot Scholars

JG

Jürgen Giesl

Professor of Computer Science, RWTH Aachen University
Program AnalysisVerificationRewritingAutomated Deduction
LC

Lucas C. Cordeiro

Professor of Computer Science, University of Manchester
Formal MethodsAutomated VerificationSoftware TestingProgram Synthesis
CB

Clark Barrett

Stanford University
Formal MethodsSatisfiability Modulo TheoriesAutomated ReasoningVerification
FF

Florian Frohn

RWTH Aachen University, Aachen, Germany
program verificationtermination analysiscomplexity analysis
SZ

Stefan Zetzsche

Applied Scientist, Amazon Web Services
Category TheoryCoalgebraMachine LearningProgramming Languages