Affiliation:
1. Ecole Polytechnique Fédérale de Lausanne, Lausanne, Switzerland
Abstract
We describe a family of decision procedures that extend the decision procedure for quantifier-free constraints on recursive algebraic data types (term algebras) to support recursive abstraction functions. Our abstraction functions are catamorphisms (term algebra homomorphisms) mapping algebraic data type values into values in other decidable theories (e.g. sets, multisets, lists, integers, booleans). Each instance of our decision procedure family is sound; we identify a widely applicable many-to-one condition on abstraction functions that implies the completeness. Complete instances of our decision procedure include the following correctness statements: 1) a functional data structure implementation satisfies a recursively specified invariant, 2) such data structure conforms to a contract given in terms of sets, multisets, lists, sizes, or heights, 3) a transformation of a formula (or lambda term) abstract syntax tree changes the set of free variables in the specified way.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference67 articles.
1. Connecting Many-Sorted Theories
2. Unification Theory
3. The Spec# Programming System: An Overview
4. C. Barrett S. Ranise A. Stump and C. Tinelli. The Satisfiability Modulo Theories Library (SMT-LIB). http://www.SMT-LIB.org 2009. C. Barrett S. Ranise A. Stump and C. Tinelli. The Satisfiability Modulo Theories Library (SMT-LIB). http://www.SMT-LIB.org 2009.
5. An Abstract Decision Procedure for Satisfiability in the Theory of Recursive Data Types
Cited by
24 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Solving Constrained Horn Clauses over Algebraic Data Types;Lecture Notes in Computer Science;2023
2. Verifying Catamorphism-Based Contracts using Constrained Horn Clauses;Theory and Practice of Logic Programming;2022-07
3. Synthesizing data structure refinements from integrity constraints;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2021-06-18
4. Beyond the elementary representations of program invariants over algebraic data types;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2021-06-18
5. Reasoning in the Theory of Heap: Satisfiability and Interpolation;Logic-Based Program Synthesis and Transformation;2021