On Parameterized Abstractions in Unrolling-Based Decision Procedure for Algebraic Data Types

Date of Submission: 
June 3, 2013
Report Number: 
Report PDF: 
Reasoning about algebraic data types is an important problem for a variety of proof tasks. Recently, a variety of decision procedures have been proposed for algebraic data types involving creating suitable abstractions of values in the types. A class of abstractions created from catamorphism functions has been shown to be theoretically applicable to a wide variety of reasoning tasks as well as efficient in practice. However, in previous work, the decidability of catamorphism functions involving parameters in addition to the data type argument has not been demonstrated. In this paper, we generalize certain kinds of catamorphism functions to support additional parameters. This extension, called parameterized associative-commutative catamorphisms subsumes the associative-commutative class from earlier work, widens the set of functions that are known to be decidable, and makes several practically important functions (such as forall and exists) over elements of algebraic data types straightforward to express.