kirancodes.me
To Proof Maintenance & Beyond!

Integrating Linear and Dependent Types

Neelakantan R. Krishnaswami, Cécilia Pradic, Nick Benton

Abstract

In this paper, we show how to integrate linear types with type dependency, by extending the linear/non-linear calculus of Benton to support type dependency. Next, we give an application of this calculus by giving a proof-theoretic account of imperative programming, which requires extending the calculus with computationally irrelevant quantification, proof irrelevance, and a monad of computations. We show the soundness of our theory by giving a realizability model in the style of Nuprl, which permits us to validate not only the beta-laws for each type, but also the eta-laws. These extensions permit us to decompose Hoare triples into a collection of simpler type-theoretic connectives, yielding a rich equational theory for dependently-typed higher-order imperative programs. Furthermore, both the type theory and its model are relatively simple, even when all of the extensions are considered.

BibTeX
@inproceedings{Krishnaswami-al:POPL15,
  author    = {Neelakantan R. Krishnaswami and
               C{\'{e}}cilia Pradic and
               Nick Benton},
  title     = {Integrating Linear and Dependent Types},
  booktitle = {POPL},
  pages     = {17--30},
  publisher = {{ACM}},
  year      = {2015},
}

Related papers