An Eager Satisfiability Modulo Theories Solver for Algebraic Datatypes
Not on the map. Why?
Abstract (arXiv)
Algebraic data types (ADTs) are a construct classically found in functional programming languages that capture data structures like enumerated types, lists, and trees. In recent years, interest in ADTs has increased. For example, popular programming languages, like Python, have added support for ADTs. Automated reasoning about ADTs can be done using satisfiability modulo theories (SMT) solving, an extension of the Boolean satisfiability problem with constraints over first-order structures. Unfortunately, SMT solvers that support ADTs do not scale as state-of-the-art approaches all use variations of the same lazy approach. In this paper, we present an SMT solver that takes a fundamentally different approach, an eager approach. Specifically, our solver reduces ADT queries to a simpler logical theory, uninterpreted functions (UF), and then uses an existing solver on the reduced query. We prove the soundness and completeness of our approach and demonstrate that it outperforms the state-of-theart on existing benchmarks, as well as a new, more challenging benchmark set from the planning domain.
Key facts. No citing papers in the map yet (data through 14 Oct 2026). Builds on 5 of its 46 references that are in the map. First posted on arXiv 18 Oct 2023.
Builds on
5 of 46 references.
References · 5
- 2016Coming to Terms with Quantified Reasoningcited by 3
- 2020Removing Algebraic Data Types from Constrained Horn Clauses Using Difference Predicatescited by 2
- 2021Beyond the Elementary Representations of Program Invariants over Algebraic Data Typescited by 2
- 2018Deciding and Interpolating Algebraic Data Types by Reduction (Technical Report)cited by 1
- 2021The VLSAT-3 Benchmark Suitecited by 1
Built on by
Not cited yet.