7 research outputs found
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
Pragmatic Isomorphism Proofs Between Coq Representations: Application to Lambda-Term Families
There are several ways to formally represent families of data, such as lambda terms, in a type theory such as the dependent type theory of Coq. Mathematical representations are very compact ones and usually rely on the use of dependent types, but they tend to be difficult to handle in practice. On the contrary, implementations based on a larger (and simpler) data structure combined with a restriction property are much easier to deal with.
In this work, we study several families related to lambda terms, among which Motzkin trees, seen as lambda term skeletons, closable Motzkin trees, corresponding to closed lambda terms, and a parameterized family of open lambda terms. For each of these families, we define two different representations, show that they are isomorphic and provide tools to switch from one representation to another. All these datatypes and their associated transformations are implemented in the Coq proof assistant. Furthermore we implement random generators for each representation, using the QuickChick plugin
Statistical properties of lambda terms
We present a quantitative, statistical analysis of random lambda terms in the
de Bruijn notation. Following an analytic approach using multivariate
generating functions, we investigate the distribution of various combinatorial
parameters of random open and closed lambda terms, including the number of
redexes, head abstractions, free variables or the de Bruijn index value
profile. Moreover, we conduct an average-case complexity analysis of finding
the leftmost-outermost redex in random lambda terms showing that it is on
average constant. The main technical ingredient of our analysis is a novel
method of dealing with combinatorial parameters inside certain infinite,
algebraic systems of multivariate generating functions. Finally, we briefly
discuss the random generation of lambda terms following a given skewed
parameter distribution and provide empirical results regarding a series of more
involved combinatorial parameters such as the number of open subterms and
binding abstractions in closed lambda terms.Comment: Major revision of section 5. In particular, proofs of Lemma 5.7 and
Theorem 5.
Statistical properties of lambda terms
We present a quantitative, statistical analysis of random lambda terms in the De Bruijn notation. Following an analytic approach using multivariate generat-ing functions, we investigate the distribution of various combinatorial parameters of random open and closed lambda terms, including the number of redexes, head abstractions, free variables or the De Bruijn index value profile. Moreover, we con-duct an average-case complexity analysis of finding the leftmost-outermost redex in random lambda terms showing that it is on average constant. The main technical
ingredient of our analysis is a novel method of dealing with combinatorial paramet-ers inside certain infinite, algebraic systems of multivariate generating functions. Finally, we briefly discuss the random generation of lambda terms following a given skewed parameter distribution and provide empirical results regarding a series of more involved combinatorial parameters such as the number of open subterms and binding abstractions in closed lambda terms