kirancodes.me
To Proof Maintenance & Beyond!

Contextual Modal Type Theory with Polymorphic Contexts

Yuito Murase, Yuichi Nishiwaki, Atsushi Igarashi

Abstract

Abstract 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 it allows multiple occurrence of context variables in a single context. We formalize $$\lambda _{\forall []}$$ λ ∀ [ ] 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 []}$$ λ ∀ [ ] .

Related papers