DeepAI AI Chat
Log In Sign Up

(Deep) Induction Rules for GADTs

05/17/2021
by   Patricia Johann, et al.
0

Deep data types are those that are defined in terms of other such data types, including, possibly, themselves. In that 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 deep GADTs that are not truly nested. We also show that deep induction cannot be extended to truly nested GADTs.

READ FULL TEXT

page 1

page 2

page 3

page 4

06/13/2018

Dependently Typed Folds for Nested Data Types

We present an approach to develop folds for nested data types using depe...
01/13/2021

Parametricity for Nested Types and GADTs

This paper considers parametricity and its consequent free theorems for ...
07/03/2011

Abstraction Super-structuring Normal Forms: Towards a Theory of Structural Induction

Induction is the process by which we obtain predictive laws or theories ...
06/25/2020

Generating induction principles and subterm relations for inductive types using MetaCoq

We implement three Coq plugins regarding inductive types in MetaCoq. The...
03/28/2022

How Functorial Are (Deep) GADTs?

It is well-known that GADTs do not admit standard map functions of the k...
06/01/2013

Universal Induction with Varying Sets of Combinators

Universal induction is a crucial issue in AGI. Its practical applicabili...
09/24/2022

In-context Learning and Induction Heads

"Induction heads" are attention heads that implement a simple algorithm ...