Course-of-Value Induction in Cedille

Denis Firsov,Larry Diehl,Christopher Jenkins,Aaron Stump
DOI: https://doi.org/10.48550/arXiv.1811.11961
2018-11-29
Logic in Computer Science
Abstract:In the categorical setting, histomorphisms model a course-of-value recursion scheme that allows functions to be defined using arbitrary previously computed values. In this paper, we use the Calculus of Dependent Lambda Eliminations (CDLE) to derive a lambda-encoding of inductive datatypes that admits course-of-value induction. Similar to course-of-value recursion, course-of-value induction gives access to inductive hypotheses at arbitrary depth of the inductive arguments of a function. We show that the derived course-of-value datatypes are well-behaved by proving Lambek's lemma and characterizing the computational behavior of the induction principle. Our work is formalized in the Cedille programming language and also includes several examples of course-of-value functions.
What problem does this paper attempt to address?