512 research outputs found
Asymptotically almost all \lambda-terms are strongly normalizing
We present quantitative analysis of various (syntactic and behavioral)
properties of random \lambda-terms. Our main results are that asymptotically
all the terms are strongly normalizing and that any fixed closed term almost
never appears in a random term. Surprisingly, in combinatory logic (the
translation of the \lambda-calculus into combinators), the result is exactly
opposite. We show that almost all terms are not strongly normalizing. This is
due to the fact that any fixed combinator almost always appears in a random
combinator
Normal-order reduction grammars
We present an algorithm which, for given , generates an unambiguous
regular tree grammar defining the set of combinatory logic terms, over the set
of primitive combinators, requiring exactly normal-order
reduction steps to normalize. As a consequence of Curry and Feys's
standardization theorem, our reduction grammars form a complete syntactic
characterization of normalizing combinatory logic terms. Using them, we provide
a recursive method of constructing ordinary generating functions counting the
number of -combinators reducing in normal-order reduction steps.
Finally, we investigate the size of generated grammars, giving a primitive
recursive upper bound
On the enumeration of closures and environments with an application to random generation
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 . 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
On Uniquely Closable and Uniquely Typable Skeletons of Lambda Terms
Uniquely closable skeletons of lambda terms are Motzkin-trees that
predetermine the unique closed lambda term that can be obtained by labeling
their leaves with de Bruijn indices. Likewise, uniquely typable skeletons of
closed lambda terms predetermine the unique simply-typed lambda term that can
be obtained by labeling their leaves with de Bruijn indices.
We derive, through a sequence of logic program transformations, efficient
code for their combinatorial generation and study their statistical properties.
As a result, we obtain context-free grammars describing closable and uniquely
closable skeletons of lambda terms, opening the door for their in-depth study
with tools from analytic combinatorics.
Our empirical study of the more difficult case of (uniquely) typable terms
reveals some interesting open problems about their density and asymptotic
behavior.
As a connection between the two classes of terms, we also show that uniquely
typable closed lambda term skeletons of size are in a bijection with
binary trees of size .Comment: Pre-proceedings paper presented at the 27th International Symposium
on Logic-Based Program Synthesis and Transformation (LOPSTR 2017), Namur,
Belgium, 10-12 October 2017 (arXiv:1708.07854
Counting and Generating Terms in the Binary Lambda Calculus (Extended version)
In a paper entitled Binary lambda calculus and combinatory logic, John Tromp
presents a simple way of encoding lambda calculus terms as binary sequences. In
what follows, we study the numbers of binary strings of a given size that
represent lambda terms and derive results from their generating functions,
especially that the number of terms of size n grows roughly like 1.963447954.
.. n. In a second part we use this approach to generate random lambda terms
using Boltzmann samplers.Comment: extended version of arXiv:1401.037
Combinatorics of explicit substitutions
is an extension of the -calculus which
internalises the calculus of substitutions. In the current paper, we
investigate the combinatorial properties of focusing on the
quantitative aspects of substitution resolution. We exhibit an unexpected
correspondence between the counting sequence for -terms and
famous Catalan numbers. As a by-product, we establish effective sampling
schemes for random -terms. We show that typical
-terms represent, in a strong sense, non-strict computations
in the classic -calculus. Moreover, typically almost all substitutions
are in fact suspended, i.e. unevaluated, under closures. Consequently, we argue
that is an intrinsically non-strict calculus of explicit
substitutions. Finally, we investigate the distribution of various redexes
governing the substitution resolution in and investigate the
quantitative contribution of various substitution primitives
Counting Environments and Closures
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 environments and closures
- …