|
|
A135501
|
|
Number of closed lambda-terms of size n with size 1 for the variables.
|
|
9
|
|
|
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
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,4
|
|
COMMENTS
|
A lambda-term is a term which is either a variable "x" (of size 1), an application of two lambda-terms (of size 1 + the sum of the sizes of the two subterms), or a lambda binding a new variable in a term (of size 1 + the size of the subterm).
The size of a lambda-term t can be equivalently defined as the number of ways of selecting a subterm of t (distinguishing between different occurrences of the same subterm). For example, the 2 closed terms with three subterms are \x.\y.x (subterms \x.\y.x, \y.x, and x) and \x.\y.y (subterms \x.\y.y, \y.y, and y), while the 4 with four subterms are \x.\y.\z.x, \x.\y.\z.y, \x.\y.\z.z, and \x.x(x) (subterms \x.x(x), x(x), x[1], and x[2], distinguishing between the two occurrences of the variable x). - Noam Zeilberger, Nov 10 2018
|
|
LINKS
|
|
|
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
|
|
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}];
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
Christophe Raffalli (christophe.raffalli(AT)univ-savoie.fr), Feb 09 2008
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|