Programming Languages and Systems
DOI: 10.1007/978-3-540-76637-7_19
|View full text |Cite
|
Sign up to set email alerts
|

Mixed Inductive/Coinductive Types and Strong Normalization

Abstract: Abstract. We introduce the concept of guarded saturated sets, saturated sets of strongly normalizing terms closed under folding of corecursive functions. Using this tool, we can model equi-inductive and equicoinductive types with terminating recursion and corecursion principles. Two type systems are presented: Mendler (co)iteration and sized types. As an application we show that we can directly represent the mixed inductive/coinductive type of stream processors with associated recursive operations.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
29
0

Publication Types

Select...
3
3
2

Relationship

3
5

Authors

Journals

citations
Cited by 15 publications
(29 citation statements)
references
References 19 publications
0
29
0
Order By: Relevance
“…There are two main theoretical issues we need to tackle: first, extension of copattern coverage to dependent types, and secondly, checking termination and productivity of functions to guarantee strong normalization. A candidate for the latter task are sized types [Hughes et al 1996;Barthe et al 2004;Abel 2007] as already implemented in MiniAgda [Abel 2012]. Further, we aim at developing a denotational model for languages with copatterns.…”
Section: Resultsmentioning
confidence: 99%
See 1 more Smart Citation
“…There are two main theoretical issues we need to tackle: first, extension of copattern coverage to dependent types, and secondly, checking termination and productivity of functions to guarantee strong normalization. A candidate for the latter task are sized types [Hughes et al 1996;Barthe et al 2004;Abel 2007] as already implemented in MiniAgda [Abel 2012]. Further, we aim at developing a denotational model for languages with copatterns.…”
Section: Resultsmentioning
confidence: 99%
“…In MiniAgda, one can certify termination and productivity using sized types [Hughes et al 1996;Barthe et al 2004;Abel 2007]. Copatterns provide the right syntax to decorate corecursive definitions with size variables that witness productivity.…”
Section: Extensions and Implementationsmentioning
confidence: 99%
“…Termination checking requires us to identity a suitable notion of acceptable inductive datatypes, e.g. based on strict positivity as in Coq [Paulin-Mohring 1993], and we plan to adapt sized types as for example in Abel [2007Abel [ , 2008 in the future.…”
Section: Discussionmentioning
confidence: 99%
“…Instead of working around the limitations of guarded corecursion one can include language features which make it easier to explain why programs are productive. One such feature is sized types (Hughes et al 1996;Barthe et al 2004;Abel 2009), and the λ -calculi of Buchholz (2005) provide other examples. Another approach is to use cleverer algorithms for establishing productivity.…”
Section: Related Workmentioning
confidence: 99%