Deciding and Interpolating Algebraic Data Types by Reduction (Technical Report)

01/08/2018
by   Hossein Hojjat, et al.
0

Recursive algebraic data types (term algebras, ADTs) are one of the most well-studied theories in logic, and find application in contexts including functional programming, modelling languages, proof assistants, and verification. At this point, several state-of-the-art theorem provers and SMT solvers include tailor-made decision procedures for ADTs, and version 2.6 of the SMT-LIB standard includes support for ADTs. We study an extremely simple approach to decide satisfiability of ADT constraints, the reduction of ADT constraints to equisatisfiable constraints over uninterpreted functions (EUF) and linear integer arithmetic (LIA). We show that the reduction approach gives rise to both decision and Craig interpolation procedures in (extensions of) ADTs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/07/2012

Optimization in SMT with LA(Q) Cost Functions

In the contexts of automated reasoning and formal verification, importan...
research
11/18/2022

Local Search For Satisfiability Modulo Integer Arithmetic Theories

Satisfiability Modulo Theories (SMT) refers to the problem of deciding t...
research
08/26/2019

CLS-SMT: Bringing Together Combinatory Logic Synthesis and Satisfiability Modulo Theories

We introduce an approach that aims to combine the usage of satisfiabilit...
research
04/09/2020

Politeness for the Theory of Algebraic Datatypes

Algebraic datatypes, and among them lists and trees, have attracted a lo...
research
03/17/2018

Meta-F*: Metaprogramming and Tactics in an Effectful Program Verifier

Verification tools for effectful programming languages often rely on aut...
research
05/19/2023

Choose your Colour: Tree Interpolation for Quantified Formulas in SMT

We present a generic tree-interpolation algorithm in the SMT context wit...
research
10/10/2018

Smtlink 2.0

Smtlink is an extension of ACL2 with Satisfiability Modulo Theories (SMT...

Please sign up or login with your details

Forgot password? Click here to reset