2010
DOI: 10.4204/eptcs.43.2
|View full text |Cite
|
Sign up to set email alerts
|

MiniAgda: Integrating Sized and Dependent Types

Abstract: Sized types are a modular and theoretically well-understood tool for checking termination of recursive and productivity of corecursive definitions. The essential idea is to track structural descent and guardedness in the type system to make termination checking robust and suitable for strong abstractions like higher-order functions and polymorphism. To study the application of sized types to proof assistants and programming languages based on dependent type theory, we have implemented a core language, MiniAgda… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
28
0

Year Published

2012
2012
2020
2020

Publication Types

Select...
5
4

Relationship

1
8

Authors

Journals

citations
Cited by 36 publications
(28 citation statements)
references
References 16 publications
0
28
0
Order By: Relevance
“…Inductive data constructors have type (∃ j < i. F (µ j F)) → µ i F, meaning that when we pattern match at inductive type µ i F, we get a fresh size variable j < i and a rest of type F (µ j F). This is the "good" way of matching that avoids paradoxes [Abe10]; find it also in Barras [Bar10a]. Coinductive data has type ν i F ∼ = ∀ j < i. F (ν j F), akin to a dependent function type.…”
Section: Inflationary Iteration and Bounded Size Quantificationmentioning
confidence: 93%
See 1 more Smart Citation
“…Inductive data constructors have type (∃ j < i. F (µ j F)) → µ i F, meaning that when we pattern match at inductive type µ i F, we get a fresh size variable j < i and a rest of type F (µ j F). This is the "good" way of matching that avoids paradoxes [Abe10]; find it also in Barras [Bar10a]. Coinductive data has type ν i F ∼ = ∀ j < i. F (ν j F), akin to a dependent function type.…”
Section: Inflationary Iteration and Bounded Size Quantificationmentioning
confidence: 93%
“…Pattern matching on coinductive types is known to violate subject reduction in dependent type theory (detailed analysis by McBride [McB09]). Deep matching on sized types can lead to a surprising paradox [Abe10].…”
Section: Semi-continuitymentioning
confidence: 99%
“…(x + y) + z → x + (y + z)), while termination criteria based on types with size annotations are restricted to matching on constructor symbols. Current implementations of termination checkers based on typing with size annotations include ATS (Xi, 2003;ATS, 2018), MiniAgda (Abel, 2010;MiniAgda, 2014), Agda (Agda, 2017), cicminus (Sacchini, 2011;cicminus, 2015) or HOT (HOT, 2012). Most of these tools assume given the annotated types of function symbols (e.g.…”
Section: Termination Based On Typing With Size Annotationsmentioning
confidence: 99%
“…Indeed, Danielsson [25] leverages some of this support by using mutually recursive/corecursive functions (which Coq does not support) in his big-step functional operational semantics for the λ-calculus. Also working in Agda, Abel and Chapman [26] use sized types [32] for their proofs by coinduction.…”
Section: Related Workmentioning
confidence: 99%