1 research outputs found
Course-of-Value Induction in Cedille
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