Appalachian State University
Browse

Deep Induction: Induction Rules For (Truly) Nested Types

Download (322.62 kB)
conference contribution
posted on 2025-10-27, 19:22 authored by Patricia Johann, Andrew Polonsky
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 fundamental theory of deep induction for them using their recently defined semantics as fixed points of accessible functors on locally presentable categories. We then use our theory to derive deep induction rules for some common ADTs and nested types, and show how these rules specialize to give the standard structural induction rules for these types. We also show how deep induction specializes to solve the long-standing problem of deriving principled and practically useful structural induction rules for bushes and other truly nested types. Overall, deep induction opens the way to making induction principles appropriate to richly structured data types available in programming languages and proof assistants. Agda implementations of our development and examples, including two extended case studies, are available.<p></p>

History

AI-Assisted

  • No

Year Created

2020

College or School

  • College of Fine and Applied Arts

Department

Computer Science

Language

English

Access Rights

  • Open

Content Genre or Classification

Proceedings

Usage metrics

    Research, Scholarly, & Creative Outputs

    Categories

    No categories selected

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC