/* The following is an array function, hence the square brackets. It uses memoization automatically */ cata[n] := sum(cata[i]*cata[n - 1 - i], i, 0, n - 1)$ cata[0]: 1$ cata2(n) := binomial(2*n, n)/(n + 1)$ makelist(cata[n], n, 0, 14); makelist(cata2(n), n, 0, 14); /* both return [1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440] */