2020
DOI: 10.1007/978-3-030-45231-5_18
|View full text |Cite
|
Sign up to set email alerts
|

Deep Induction: Induction Rules for (Truly) Nested Types

Abstract: This paper introduces deep induction, and shows that it is the notion of induction most appropriate to nested types and other data types defined over, or mutually recursively with, (other) such types. Standard induction rules induct over only the top-level structure of data, leaving any data internal to the top-level structure untouched. By contrast, deep induction rules induct over all of the structured data present. We give a grammar generating a robust class of nested types (and thus ADTs), and develop a fu… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
5

Citation Types

0
9
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
2
2
1

Relationship

1
4

Authors

Journals

citations
Cited by 5 publications
(9 citation statements)
references
References 14 publications
0
9
0
Order By: Relevance
“…A summary of the various classes of data types considered in this paper is given in Table 1. G in (12) Deep induction [13] is a generalization of structural induction that fits this bill exactly. Whereas structural induction rules induct over only the top-level structure of data, leaving any data internal to the top-level structure untouched, deep induction rules induct over all of the structured data present.…”
Section: Introductionmentioning
confidence: 95%
See 4 more Smart Citations
“…A summary of the various classes of data types considered in this paper is given in Table 1. G in (12) Deep induction [13] is a generalization of structural induction that fits this bill exactly. Whereas structural induction rules induct over only the top-level structure of data, leaving any data internal to the top-level structure untouched, deep induction rules induct over all of the structured data present.…”
Section: Introductionmentioning
confidence: 95%
“…The inductive data types handled by Coq include (possibly mutually inductive) polynomial algebraic data types (ADTs), and the induction rules Coq generates for them are the expected ones for standard structural induction. However, as discussed in [13], it has long been understood that these rules are too weak to be genuinely useful for deep ADTs. 1 The following data type of rose trees, here coded in Agda and defined in terms of the standard type List of lists (see Section 2), is a deep ADT: Unfortunately, this is neither the induction rule we intuitively expect, nor is it expressive enough to prove even basic properties of rose trees that ought to be amenable to inductive proof.…”
Section: Introductionmentioning
confidence: 99%
See 3 more Smart Citations