arXiv · 1903.08233
Elaborating Inductive Definitions and Course-of-Values Induction in Cedille
Abstract
In the Calculus of Dependent Lambda Eliminations (CDLE), a pure Curry-style type theory, it is possible to generically {\lambda}-encode inductive datatypes which support course-of-values (CoV) induction. We present a datatype subsystem for Cedille (an implementation of CDLE) that provides this feature to programmers through convenient notation for declaring datatypes and for defining functions over them by case analysis and fixpoint-style recursion guarded by a type-based termination checker. We demonstrate that this does not require extending CDLE by showing how datatypes and functions over them elaborate to {\lambda}-encodings, and proving that this elaboration is type- and value-preserving. This datatype subsystem and elaborator are implemented in Cedille, establishing for the first time a complete translation of inductive definitions to a small pure typed {\lambda}-calculus.
Explore related subjects
Keep this discovery
Christopher Jenkins, Colin McDonald, Aaron Stump. 2019-03-19. Elaborating Inductive Definitions and Course-of-Values Induction in Cedille. https://arxiv.org/abs/1903.08233
Cite the original work for its findings. Save a collection to share your selection of sources.