Higher-Order and Symbolic Computation

, Volume 19, Issue 2, pp 263–282

Explicit substitutions and higher-order syntax


DOI: 10.1007/s10990-006-8748-4

Cite this article as:
Ghani, N., Uustalu, T. & Hamana, M. Higher-Order Symb Comput (2006) 19: 263. doi:10.1007/s10990-006-8748-4


Recently there has been a great deal of interest in higher-order syntax which seeks to extend standard initial algebra semantics to cover languages with variable binding. The canonical example studied in the literature is that of the untyped λ-calculus which is handled as an instance of the general theory of binding algebras, cf. Fiore et al. [13].

Another important syntactic construction is that of explicit substitutions which are used to model local definitions and to implement reduction in the λ-calculus. The syntax of a language with explicit substitutions does not form a binding algebra as an explicit substitution may bind an arbitrary number of variables. Thus explicit substitutions are a natural test case for the further development of the theory and applications of syntax with variable binding.

This paper shows that a language containing explicit substitutions and a first-order signature Σ is naturally modelled as the initial algebra of the Id + FΣ∘_ +_ ∘ _ endofunctor. We derive a similar formula for adding explicit substitutions to the untyped λ-calculus and then show these initial algebras provide useful datatypes for manipulating abstract syntax by implementing two reduction machines. We also comment on the apparent lack of modularity in syntax with variable binding as compared to first-order languages.


Abstract syntaxVariable bindingExplicit substitutionsAlgebrasMonads

Copyright information

© Springer Science + Business Media, LLC 2006

Authors and Affiliations

  1. 1.School of Computer Science and ITUniversity of NottinghamNottinghamUK
  2. 2.Institute of CyberneticsTallinn University of TechnologyTallinnEstonia
  3. 3.Department of Computer ScienceGunma UniversityGunmaJapan