An Abstract Decision Procedure for a Theory of Inductive Data Types

An Abstract Decision Procedure for a Theory of Inductive Data Types” by Clark Barrett, Igor Shikanian, and Cesare Tinelli. Journal on Satisfiability, Boolean Modeling and Computation, vol. 3, 2007, pp. 21-46, IOS Press.

Abstract

Inductive data types are a valuable modeling tool for software verification. In the past, decision procedures have been proposed for various theories of inductive data types, some focused on the universal fragment, and some focused on handling arbitrary quantifiers. Because of the complexity of the full theory, previous work on the full theory has not focused on strategies for practical implementation. However, even for the universal fragment, previous work has been limited in several significant ways. In this paper, we present a general and practical algorithm for the universal fragment. The algorithm is presented declaratively as a set of abstract rules which we show to be terminating, sound, and complete. We show how other algorithms can be realized as strategies within our general framework, and we propose a new strategy and give experimental results indicating that it performs well in practice. We conclude with a discussion of several useful ways the algorithm can be extended.

BibTeX entry:

@article{BST07-JSAT,
   author = {Clark Barrett and Igor Shikanian and Cesare Tinelli},
   title = {An Abstract Decision Procedure for a Theory of Inductive Data
	Types},
   journal = {Journal on Satisfiability, Boolean Modeling and Computation},
   volume = {3},
   pages = {21--46},
   publisher = {IOS Press},
   year = {2007},
   issn = {1574-0617},
   url = {http://theory.stanford.edu/~barrett/pubs/BST07-JSAT.pdf}
}

(This webpage was created with bibtex2web.)