Logical Methods in Computer Science (Oct 2019)

On the enumeration of closures and environments with an application to random generation

  • Maciej Bendkowski,
  • Pierre Lescanne

DOI
https://doi.org/10.23638/LMCS-15(4:3)2019
Journal volume & issue
Vol. Volume 15, Issue 4

Abstract

Read online

Environments and closures are two of the main ingredients of evaluation in lambda-calculus. A closure is a pair consisting of a lambda-term and an environment, whereas an environment is a list of lambda-terms assigned to free variables. In this paper we investigate some dynamic aspects of evaluation in lambda-calculus considering the quantitative, combinatorial properties of environments and closures. Focusing on two classes of environments and closures, namely the so-called plain and closed ones, we consider the problem of their asymptotic counting and effective random generation. We provide an asymptotic approximation of the number of both plain environments and closures of size $n$. Using the associated generating functions, we construct effective samplers for both classes of combinatorial structures. Finally, we discuss the related problem of asymptotic counting and random generation of closed environemnts and closures.

Keywords