A135501 Number of closed lambda-terms of size n with size 1 for the variables.
0, 0, 1, 2, 4, 13, 42, 139, 506, 1915, 7558, 31092, 132170, 580466, 2624545, 12190623, 58083923, 283346273, 1413449148, 7200961616, 37425264180, 198239674888, 1069228024931, 5867587726222, 32736878114805, 185570805235978
Offset: 0
Keywords
Links
- Noam Zeilberger, Table of n, a(n) for n = 0..300 (terms 2-63 from Christophe Raffalli)
- Olivier Bodini, Danièle Gardy, Bernhard Gittenberger, Zbigniew Gołębiewski, On the number of unary-binary tree-like structures with restrictions on the unary height, arXiv:1510.01167 [math.CO], 2015, see p. 4.
- Olivier Bodini, Paul Tarau, On Uniquely Closable and Uniquely Typable Skeletons of Lambda Terms, arXiv:1709.04302 [cs.PL], 2017.
- Katarzyna Grygiel and Pierre Lescanne, Counting and generating lambda-terms, arXiv preprint arXiv:1210.2610 [cs.LO], 2012-2013.
- Pierre Lescanne, On counting untyped lambda terms, arXiv:1107.1327 [cs.LO], 2011-2012.
- Paul Tarau, On Type-directed Generation of Lambda Terms, preprint, 2015.
- Paul Tarau, On logic programming representations of lambda terms: de Bruijn indices, compression, type inference, combinatorial generation, normalization, 2015.
- P. Tarau, A Logic Programming Playground for Lambda Terms, Combinators, Types and Tree-based Arithmetic Computations, arXiv preprint arXiv:1507.06944 [cs.LO], 2015.
- Noam Zeilberger, Alain Giorgetti, A correspondence between rooted planar maps and normal planar lambda terms, arXiv:1408.5028 [cs.LO], 2014.
Programs
-
Maple
T := proc(n, k) option remember; `if`(n <= 0, 0, `if`(n = 1, k, T(n-1, k+1) + add(T(n-1-j, k)*T(j, k), j = 0..n-2))) end: a := n -> T(n, 0): seq(a(n), n=0..25); # Peter Luschny, Nov 10 2018
-
Mathematica
T[0, ] = 0; T[1, m] := m; T[n_, m_] := T[n, m] = T[n-1, m+1] + Sum[T[n-1-k, m] T[k, m], {k, 0, n-2}]; a[n_] := T[n, 0]; Table[a[n], {n, 0, 25}] (* Jean-François Alcover, Aug 06 2018, after Pierre Lescanne *)
Formula
f(n,0) where f(1,1) = 1; f(0,k) = 0; f(n,k) = 0 if k>2n-1; f(n,k) = f(n-1,k) + f(n-1,k+1) + sum_{p=1 to n-2} sum_{c=0 to k} sum_{l=0 to k - c} [C^c_k C^l_(k-c) f(p,l+c) f(n-p-1,k-l)], where C^p_n are binomial coefficients (the last term is for the application where "c" is the number of common variables in both subterms). f(n,k) can be computed only using f(n',k') with n' < n and k' <= k + n - n'. f(n,k) is the number of lambda terms of size n (with size 1 for the variables) having exactly k free variables.
T(n,0) where T(0,m) = 0; T(1,m) = m; T(n+1,m) = T(n,m+1) + sum{k=0 to n-11} [T(n-k,m) T(k,m)]. T(n,m) is the number of lambda terms of size n (with size 1 for the variables) having at most m free variables. [Pierre Lescanne, Nov 18 2012]
The ordinary generating function l(z) can be computed using a catalytic variable as l(z) = L(z,0), where L(z,f) satisfies the functional equation L(z,f) = f*z + z*L(z,f)^2 + z*L(z,f+1). See equation (2) of [Bodini et al., 2015]. - Noam Zeilberger, Nov 10 2018
Extensions
Two terms prepended by Noam Zeilberger, Nov 10 2018
Comments