2016
DOI: 10.1007/978-3-662-49630-5_2
|View full text |Cite
|
Sign up to set email alerts
|

Guarded Dependent Type Theory with Coinductive Types

Abstract: We present guarded dependent type theory, gDTT, an extensional dependent type theory with a 'later' modality and clock quantifiers for programming and proving with guarded recursive and coinductive types. The later modality is used to ensure the productivity of recursive definitions in a modular, type based, way. Clock quantifiers are used for controlled elimination of the later modality and for encoding coinductive types using guarded recursive types. Key to the development of gDTT are novel type and term for… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
81
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
7
1
1

Relationship

2
7

Authors

Journals

citations
Cited by 43 publications
(81 citation statements)
references
References 20 publications
0
81
0
Order By: Relevance
“…One first direction is to enhance the expressiveness of the underlying simply typed language. For instance, it would be interesting to introduce clock variables and some type dependency as in [13], and extend the proof system accordingly. This would allow us, for example, to type the function taking the n-th element of a guarded stream, which cannot be done in the current system.…”
Section: Resultsmentioning
confidence: 99%
See 1 more Smart Citation
“…One first direction is to enhance the expressiveness of the underlying simply typed language. For instance, it would be interesting to introduce clock variables and some type dependency as in [13], and extend the proof system accordingly. This would allow us, for example, to type the function taking the n-th element of a guarded stream, which cannot be done in the current system.…”
Section: Resultsmentioning
confidence: 99%
“…This example, taken from [13], proves a property about the ZipWith function, which takes two streams of type A, a function on pairs of elements, and "zips" the two streams by applying that function to the elements that are at the same position on the two streams. We want to show that if the function on the elements is commutative, zipping two streams with that function is commutative as well.…”
Section: E1 Proof Of Zipwithmentioning
confidence: 90%
“…Core λ * enjoys decidable type-checking, but not type inference; in contrast, type inference for the later modality has been studied by Severi [31]. Finally, Core λ * might be difficult to extend to dependent types, since it is inherently call-by-value, whereas several dependent type theories with later have been proposed [6,8].…”
Section: Guarded Type Theoriesmentioning
confidence: 99%
“…Therefore our use of the modality seems the simpler choice, especially as it allows us to adapt previously published work on term calculus for the modal logic Intuitionistic S4 [5]. However in our work on extending guarded type theory to dependent types [11] the explicit substitutions become more burdensome, resulting in our adoption of clock quantifiers for that work.…”
Section: Related Workmentioning
confidence: 99%