(Deep) Induction Rules for GADTs
(Deep) Induction Rules for GADTs
复制标题
GADT 的(深度)归纳规则
DOI:
10.1145/3497775.3503680
复制
发表时间:
2022
期刊:
影响因子:
--
通讯作者:
Ghiorzi, Enrico
中科院分区:
文献类型:
--
作者:
Johann, Patricia;Ghiorzi, Enrico
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 traversesallof 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.