A Classical Sequent Calculus with Dependent Types - Laboratoire Preuves, Programmes et Systèmes
Communication Dans Un Congrès Année : 2017

A Classical Sequent Calculus with Dependent Types

Résumé

Dependent types are a key feature of type systems, typically used in the context of both richly-typed programming languages and proof assistants. Control operators, which are connected with classical logic along the proof-as-program correspondence, are known to misbehave in the presence of dependent types, unless dependencies are restricted to values. We place ourselves in the context of the sequent calculus which has the ability to smoothly provide control under the form of the µ operator dual to the common "let" operator, as well as to smoothly support abstract machine and continuation-passing style interpretations. We start from the call-by-value version of the λμμ̃ language and design a minimal language with a value restriction and a type system that includes a list of explicit dependencies and maintains type safety. We then show how to relax the value restriction and introduce delimited continuations to directly prove the consistency by means of a continuation-passing-style translation. Finally, we relate our calculus to a similar system by Lepigre , and present a methodology to transfer properties from this system to our own.
Fichier principal
Vignette du fichier
dL.pdf (496.57 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-01375977 , version 1 (03-10-2016)
hal-01375977 , version 2 (19-12-2016)
hal-01375977 , version 3 (20-01-2017)

Licence

Copyright (Tous droits réservés)

Identifiants

  • HAL Id : hal-01375977 , version 3

Citer

Étienne Miquey. A Classical Sequent Calculus with Dependent Types . 26th European Symposium on Programming, Apr 2017, Uppsala, Sweden. ⟨hal-01375977v3⟩
584 Consultations
292 Téléchargements

Partager

More