atlas

Research map / Learning theory and algorithms / Combinatorial and search optimization

An Eager Satisfiability Modulo Theories Solver for Algebraic Datatypes

AAAI 2024 · Learning theory and algorithms › Combinatorial and search optimization · approach: SAT and model counting solvers · 1 citations (OpenAlex)

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Presents Algaroba, an eager SMT solver that reduces quantifier-free algebraic datatype queries to uninterpreted functions using depth-bounded acyclicality axioms, and shows it beats CVC5, Z3, and Princess on SMTCOMP-style and a new blocks-world benchmark.

Problem

Existing SMT solvers for algebraic data types (ADTs) all use lazy architectures and do not scale well on harder queries, and the community has few ADT-capable solvers.

Approach

Reduce quantifier-free ADT queries to quantifier-free UF queries eagerly: flatten and Skolemize the formula, compute a per-ADT depth bound k from the number of variables, and instantiate ADT axioms (constructor/selector rewriting, tester exclusivity, acyclicality up to depth k) so an off-the-shelf UF solver can be used.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Use Algaroba's eager ADT-to-UF reduction instead of the state-of-the-art solversSMT solving for ADT queries · Barrett et al.average solve time: 0.05 seconds (CVC5) vs 0.08 seconds (Algaroba)No clear effect
Use Algaroba's eager ADT-to-UF reduction instead of CVC5SMT solving for ADT queries · Bouvierqueries solved: 37.25% -> 45.75%Helped
Use Algaroba's eager ADT-to-UF reduction instead of Z3SMT solving for ADT queries · Bouvieraverage run time on successful queries: 437.18 seconds -> 190.11 secondsHelped
Use Algaroba's eager ADT-to-UF reduction instead of CVC5SMT solving for ADT queries · Bouvierstandard deviation on successful queries: 346.83 seconds -> 267.13 secondsHelped
Use Algaroba's eager ADT-to-UF reduction instead of Z3SMT solving for ADT queries · Blocks worldqueries solved: 56.2% -> 61.4%Helped
Use Algaroba's eager ADT-to-UF reduction instead of Z3SMT solving for ADT queries · Blocks worldaverage run time on successful queries: 175.05 seconds -> 87.34 secondsHelped
Use Algaroba's eager ADT-to-UF reduction instead of Z3SMT solving for ADT queries · Blocks worldstandard deviation on successful queries: 300.15 seconds -> 198.67 secondsHelped
Use Algaroba instead of PrincessSMT solving for ADT queries · Blocks worldaverage run time on successful queries: 31.89 seconds (Princess) vs 87.34 seconds (Algaroba)Hurt

Surprising findings

Limitations

Experimental setup

Datasets: Bouvier benchmark set Barrett et al. ADT benchmark set (SMTCOMP)

Benchmarks: Bouvier benchmark set Barrett et al. benchmark set Blocks world benchmark set (500 queries)

Metrics: percentage of queries solved within 1200s timeout average and standard deviation of solve time on solved queri SMTCOMP contribution rank (virtual best solver)

Baselines: CVC5 Z3 Princess

Builds on: Oppen 1980 decision procedure Princess eager ADT reduction SMT-LIB

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy