Contextual Modal Type Theory with Polymorphic Contexts

Modal types -- types that are derived from proof systems of modal logic -- have been studied as theoretical foundations of metaprogramming, where program code is manipulated as first-class values. In modal type systems, modality corresponds to a type constructor for code types and controls free vari...

Full description

Saved in:
Bibliographic Details
Main Authors Murase, Yuito, Nishiwaki, Yuichi, Igarashi, Atsushi
Format Journal Article
LanguageEnglish
Published 28.01.2018
Subjects
Online AccessGet full text
DOI10.48550/arxiv.1801.09225

Cover

More Information
Summary:Modal types -- types that are derived from proof systems of modal logic -- have been studied as theoretical foundations of metaprogramming, where program code is manipulated as first-class values. In modal type systems, modality corresponds to a type constructor for code types and controls free variables and their types in code values. Nanevski et al. have proposed contextual modal type theory, which has modal types with fine-grained information on free variables: modal types are explicitly indexed by contexts -- the types of all free variables in code values. This paper presents$\lambda_{\forall[]}$ , a novel extension of contextual modal type theory with parametric polymorphism over contexts. Such an extension has been studied in the literature but unlike earlier proposals,$\lambda_{\forall[]}$is more general in that multiple parts of a single context can be abstracted. We formalize with its type system and operational semantics given by$\beta$ -reduction and prove its basic properties including subject reduction, strong normalization, and confluence. Moreover, to demonstrate the expressive power of polymorphic contexts, we show a type-preserving embedding from a two-level fragment of Davies'$\lambda_{\bigcirc}$ , which is based on linear-time temporal logic, to$\lambda_{\forall[]}$ .
DOI:10.48550/arxiv.1801.09225