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

16 Oct 2019  ·  Bendkowski Maciej, Lescanne Pierre ·

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.

PDF Abstract
No code implementations yet. Submit your code now

Categories


Logic in Computer Science Combinatorics

Datasets


  Add Datasets introduced or used in this paper