Reasoning about Algebraic Data Types with Abstractions
Tuan-Hung Pham, Andrew Gacek, Michael W. Whalen

TL;DR
This paper introduces a decision procedure for reasoning about algebraic data types using catamorphisms, addressing previous limitations with new conditions and categories, and implementing it in the RADA tool for network message reasoning.
Contribution
It extends previous work by introducing generalized sufficient surjectivity, monotonic and associative catamorphisms, and their combination, improving reasoning capabilities over algebraic data types.
Findings
The procedure is sound and complete for a class of catamorphisms.
Linear bound on unrollings for monotonic catamorphisms.
Exponential bound for associative catamorphisms.
Abstract
Reasoning about functions that operate over algebraic data types is an important problem for a large variety of applications. One application of particular interest is network applications that manipulate or reason about complex message structures, such as XML messages. This paper presents a decision procedure for reasoning about algebraic data types using abstractions that are provided by catamorphisms: fold functions that map instances of algebraic data types to values in a decidable domain. We show that the procedure is sound and complete for a class of catamorphisms that satisfy a generalized sufficient surjectivity condition. Our work extends a previous decision procedure that unrolls catamorphism functions until a solution is found. We use the generalized sufficient surjectivity condition to address an incompleteness in the previous unrolling algorithm (and associated proof). We…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
