Course-of-Value Induction in Cedille

11/29/2018
by   Denis Firsov, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/01/2020

Efficient lambda encodings for Mendler-style coinductive types in Cedille

In the calculus of dependent lambda eliminations (CDLE), it is possible ...
research
03/06/2018

Efficient Mendler-Style Lambda-Encodings in Cedille

It is common to model inductive datatypes as least fixed points of funct...
research
03/27/2013

Models vs. Inductive Inference for Dealing With Probabilistic Knowledge

Two different approaches to dealing with probabilistic knowledge are exa...
research
06/04/2019

Interpolating Strong Induction

The principle of strong induction, also known as k-induction is one of t...
research
03/19/2019

Elaborating Inductive Datatypes and Course-of-Values Pattern Matching to Cedille

In CDLE, a pure Curry-style type theory, it is possible to generically d...
research
09/19/2020

Faster Smarter Induction in Isabelle/HOL

We present semantic_induct, an automatic tool to recommend how to apply ...
research
10/19/2020

SeLFiE: Modular Semantic Reasoning for Induction in Isabelle/HOL

Proof assistants offer tactics to apply proof by induction, but these ta...

Please sign up or login with your details

Forgot password? Click here to reset