Efficient lambda encodings for Mendler-style coinductive types in Cedille

05/01/2020
by   Christopher Jenkins, et al.
0

In the calculus of dependent lambda eliminations (CDLE), it is possible to define inductive datatypes via lambda encodings that feature constant-time destructors and a course-of-values induction scheme. This paper begins to address the missing derivations for the dual, coinductive types. Our derivation utilizes new methods within CDLE, as there are seemingly fundamental difficulties in adapting previous known approaches for deriving inductive types. The lambda encodings we present implementing coinductive types feature constant-time constructors and a course-of-values corecursion scheme. Coinductive type families are also supported, enabling proofs for many standard coinductive properties such as stream bisimulation. All work is mechanically verified by the Cedille tool, an implementation of CDLE.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/29/2018

Course-of-Value Induction in Cedille

In the categorical setting, histomorphisms model a course-of-value recur...
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
11/15/2019

Constructing Infinitary Quotient-Inductive Types

This paper introduces an expressive class of quotient-inductive types, c...
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
07/01/2020

The Integers as a Higher Inductive Type

We consider the problem of defining the integers in Homotopy Type Theory...
research
01/09/2020

Monotone recursive types and recursive data representations in Cedille

Guided by Tarksi's fixpoint theorem in order theory, we show how to deri...
research
01/24/2023

Inductive Reasoning for Coinductive Types

We present AlgCo (Algebraic Coinductives), a practical framework for ind...

Please sign up or login with your details

Forgot password? Click here to reset