Skip to main content



Integrating Dependent and Linear Types

Neelakantan R. Krishnaswami, Pierre Pradic, and Nick Benton

Discussion led by Andrew K. Hirsch on May 20, 2015

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 higherorder imperative programs. Furthermore, both the type theory and its model are relatively simple, even when all of the extensions are considered.

PDF