Download PDFOpen PDF in browser

Termination Checking in the Presence of Nested Inductive and Coinductive Types

6 pagesPublished: May 15, 2012

Abstract

In the dependently typed functional programming language Agda one can easily mix induction and coinduction. The implementation of the termination/productivity checker is based on a simple extension of a termination checker for a language with inductive types. However, this simplicity comes at a price: only types of the form νX.μY.F X Y can be handled directly, not types of the form μY.νX.F X Y. We explain the implementation of the termination checker and the ensuing problem.

Keyphrases: coinduction, corecursion, dependent types, mixed induction and coinduction

In: Ekaterina Komendantskaya, Ana Bove and Milad Niqui (editors). PAR-10. Partiality and Recursion in Interactive Theorem Provers, vol 5, pages 101--106

Links:
BibTeX entry
@inproceedings{PAR-10:Termination_Checking_in_Presence,
  author    = {Thorsten Altenkirch and Nils Anders Danielsson},
  title     = {Termination Checking in the Presence of Nested Inductive and Coinductive Types},
  booktitle = {PAR-10. Partiality and Recursion in Interactive Theorem Provers},
  editor    = {Ekaterina Komendantskaya and Ana Bove and Milad Niqui},
  series    = {EPiC Series in Computing},
  volume    = {5},
  pages     = {101--106},
  year      = {2012},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {https://easychair.org/publications/paper/v6HK},
  doi       = {10.29007/n51d}}
Download PDFOpen PDF in browser