Handbook of logic in computer science (vol. 1)
A shorter model theory
Fast Decision Procedures Based on Congruence Closure
Journal of the ACM (JACM)
Reasoning About Recursively Defined Data Structures
Journal of the ACM (JACM)
Simplification by Cooperating Decision Procedures
ACM Transactions on Programming Languages and Systems (TOPLAS)
An Efficient Unification Algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Journal of Automated Reasoning
A Practical Approach to Partial Functions in CVC Lite
Electronic Notes in Theoretical Computer Science (ENTCS)
Decision procedures for algebraic data types with abstractions
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Combined satisfiability modulo parametric theories
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Building a calculus of data structures
VMCAI'10 Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation
Deciding functional lists with sublist sets
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
Hi-index | 0.00 |
The theory of recursive data types is a valuable modeling tool for software verification. In the past, decision procedures have been proposed for both the full theory and its universal fragment. However, previous work has been limited in various ways. In this paper, we present a general algorithm for the universal fragment. The algorithm is presented declaratively as a set of abstract rules which are terminating, sound, and complete. We show how other algorithms can be realized as strategies within our general framework. Finally, we propose a new strategy and give experimental results showing that it performs well in practice.