Higher-order substitutions

Research output: Contribution to journalReview articlepeer-review

Abstract

The λσ-calculus is a concrete λ-calculus of explicit substitutions, designed for reasoning about implementations of λ-calculi. Higher-order abstract syntax is an approach to metaprogramming that explicitly captures the variable-binding aspects of programming language constructs. A new calculus of explicit substitutions for higher-order abstract syntax is introduced, allowing a high-level description of variable binding in object languages while also providing substitutions as explicit programmer-manipulable data objects. The new calculus is termed the λσβ0-calculus, since it makes essential use of an extension of β0-unification (described in another paper). Termination and confluence are verified for the λσβ0-calculus similarly to that for the λσ-calculus, and an efficient implementation is given in terms of first-order renaming substitutions. The verification of confluence makes use of a verified adaptation of Nipkow's higher-order critical pairs lemma to the forms of rewrite rules required for the statement of the λσβ0-calculus.

Original languageEnglish
Pages (from-to)1-53
Number of pages53
JournalInformation and Computation
Volume164
Issue number1
DOIs
StatePublished - 10 Jan 2001

Fingerprint

Dive into the research topics of 'Higher-order substitutions'. Together they form a unique fingerprint.

Cite this