Abstract

AbstractModal 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 []}$$ λ ∀ [ ] .

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call