Integrating Dependent and Linear Types
Neelakantan R. Krishnaswami, Pierre Pradic, and Nick Benton
Discussion led by Andrew K. Hirsch on May 20, 2015
Abstract:
PDFIn 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.