Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 2012
DOI: 10.1145/2103656.2103705
|View full text |Cite
|
Sign up to set email alerts
|

Programming with binders and indexed data-types

Abstract: We show how to combine a general purpose type system for an existing language with support for programming with binders and contexts by refining the type system of ML with a restricted form of dependent types where index objects are drawn from contextual LF. This allows the user to specify formal systems within the logical framework LF and index ML types with contextual LF objects. Our language design keeps the index language generic only requiring decidability of equality of the index language providing a mod… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
13
0

Year Published

2013
2013
2021
2021

Publication Types

Select...
4
1
1

Relationship

3
3

Authors

Journals

citations
Cited by 23 publications
(13 citation statements)
references
References 44 publications
0
13
0
Order By: Relevance
“…Each case of the proof corresponds to one branch in the function. Recently, Cave and Pientka have shown how to extend Beluga with support for inductive definitions (i.e., recursive datatypes) [8] and first-class substitutions [9] leading to Beluga μ . This allows us to define predicates about contexts and contextual objects, relate contexts via substitutions, and more importantly prove properties about them inductively.…”
Section: Mechanization In Belugamentioning
confidence: 99%
See 2 more Smart Citations
“…Each case of the proof corresponds to one branch in the function. Recently, Cave and Pientka have shown how to extend Beluga with support for inductive definitions (i.e., recursive datatypes) [8] and first-class substitutions [9] leading to Beluga μ . This allows us to define predicates about contexts and contextual objects, relate contexts via substitutions, and more importantly prove properties about them inductively.…”
Section: Mechanization In Belugamentioning
confidence: 99%
“…However, Beluga μ [8] also supports indexed recursive datatypes and Type preservation for parallel reductions in Beluga first-class substitutions [9]. This allows us to define predicates about contexts and contextual objects, relate contexts via substitutions, and more importantly prove properties about them inductively.…”
Section: Mechanizing Properties In Beluga μ Using Recursive Types Andmentioning
confidence: 99%
See 1 more Smart Citation
“…In the last five years there has been increasing interest in languages that support safe tactics to manipulate proof terms of dependently typed logics. Delphin [23], Beluga [21,22,4], and VeriML [29,30] are languages that, like Mtac, fall into this category. By "safe" we mean that, if the execution of a tactic terminates, then the resulting proof term has the type specified by the tactic.…”
Section: Related Workmentioning
confidence: 99%
“…Indeed, our proof of type safety is completely straightforward, as it inherits from CIC all the relevant properties such as type preservation under substitution. Having a simple meta-theory is particularly important to avoid precluding future language extensions-indeed, extensions of the previous systems have often required a reworking of their meta-theory [30,4].…”
Section: Related Workmentioning
confidence: 99%