(Deep) Induction Rules For GADTs

ASU Author/Contributor (non-ASU co-authors, if there are any, appear on document)
Patricia Johann Ph.D, Professor (Creator)
Institution
Appalachian State University (ASU )
Web Site: https://library.appstate.edu/

Abstract: Deep data types are those that are constructed from other data types, including, possibly, themselves. In this case, they are said to be truly nested. Deep induction is an extension of structural induction that traverses all of the structure in a deep data type, propagating predicates on its primitive data throughout the entire structure. Deep induction can be used to prove properties of nested types, including truly nested types, that cannot be proved via structural induction. In this paper we show how to extend deep induction to GADTs that are not truly nested GADTs. This opens the way to incorporating automatic generation of (deep) induction rules for them into proof assistants. We also show that the techniques developed in this paper do not suffice for extending deep induction to truly nested GADTs, so more sophisticated techniques are needed to derive deep induction rules for them.

Additional Information

Publication
Johann P, Ghiorzi E. (Deep) induction rules for GADTs. Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs. January 2022:324-337. doi:10.1145/3497775.3503680. Publisher version of record available at: http://dl.acm.org/doi/10.1145/3497775.3503680
Language: English
Date: 2022
Keywords
GADTs, induction, proof assistants

Email this document to