Exploration 03 · pure mathematics

The Ackermann frontier

Three rules, two small numbers, and an output that escapes every scale we have for writing numbers down.

Generated landscape

  1. 01A(0, n) = n + 1Count up by one.
  2. 02A(m + 1, 0) = A(m, 1)Drop a level, start from one.
  3. 03A(m + 1, n + 1) = A(m, A(m + 1, n))Feed the whole previous answer back in as the argument.

The third rule is the engine: every step of level m + 1 is an entire run of level m, applied to a number the recursion has just made larger. Level 1 adds, level 2 multiplies, level 3 exponentiates, level 4 builds towers of exponents. A(4, 2) is exactly 265536 − 3, with 19,729 digits. A(4, 3) cannot be written: the count of its digits has 19,729 digits.

Act I–II Familiar growth, then the scale fails

Watch the axis give way.

02505007501,000 0123456789101112n top of the scale

Each gridline adds 250. The familiar scale — and 2ⁿ has already left it by n = 10.

Fig. The growth race

n, n², 2ⁿ, n!, a tower of n twos (2↑↑n), and the Ackermann levels A(4, n) = 2↑↑(n + 3) − 3 and A(5, n). Values beyond floating point are carried exactly as iterated powers of ten. An arrow marks where a curve leaves the scale; it is not drawn further because the scale cannot hold it.

Act III Recursion takes over

Every step is a whole run of the level below.

A(3, 2)

Evaluations0
Pending depth1
Result…
Fig. The definition, run literally

Each step rewrites the innermost call by one of the three rules. The line is the pending expression; the skyline is its depth over the whole run. A(3, 2) = 29 takes 541 evaluations; A(3, 3) = 61 takes 2,432; A(4, 1) = 65,533 would take 2,862,984,010 (counted by recurrence, not run).

Act IV Beyond explicit representation

Where only notation is left.

A(4, 2) = 2 ↑↑ 5 − 3

19,729 digits

  1. The number
  2. Its digit count
  3. Digits of the digit count
  4. Only the tower height
  5. Height of the height
  6. Only arrows
Fig. Exact structure

A(4, n) + 3 is a tower of n + 3 twos. A(5, n) + 3 is a tower whose height is the previous A(5) value + 3, so heights nest inside heights. A(6, 0) = A(5, 1) exactly; A(6, 1) = 2 ↑↑↑↑ 4 − 3, a nesting of towers so deep that only Knuth's arrows can state it. Every line here is an identity, not an estimate.

Laboratory · evaluate any A(m, n)

Evaluate A(m, n)

m 3
n 3

Exact · 2 digits

A(3, 3) = 61

Computed exactly with arbitrary-precision integers.

Fig. The recursion, evaluated by the definition

2,432 evaluations of A; the stack of pending work reaches depth 60. Each column is the deepest point in that stretch of the computation.

The first thirty values

m \ n012345
0123456
1234567
235791113
35132961125253
4136553319,729 digits2 ↑↑ 6 − 32 ↑↑ 7 − 32 ↑↑ 8 − 3
Plain numbers, then only their digit counts, then only Knuth up-arrow notation: 2 ↑↑ 6 is a tower of six 2s. A(m, n) = 2 ↑m−2 (n + 3) − 3.

Scale collapse · n = 2

  1. A(0, n)3
  2. A(1, n)4
  3. A(2, n)7
  4. A(3, n)29
  5. A(4, n)19,729 digits

What this is not

The Ackermann function is not a law of technological or civilizational growth, and nothing at Ostrium grows "Ackermann-fast".

Nor is it the fastest-growing function. In the fast-growing hierarchy it sits at level ω; Goodstein's function and TREE outgrow it, and the Busy Beaver function outgrows every computable function. The definition used here is the two-argument Ackermann–Péter form; Ackermann's 1928 original had three arguments.

It is here because recursion is the interesting idea: a process whose every step is a full run of the process below it. The research question that echoes it is narrower and testable — can a system that generates progress improve its own generator, and what stops it? That model has bottlenecks and ceilings.

How it is computed

Values come from closed forms checked against the recursive definition: A(1, n) = n + 2, A(2, n) = 2n + 3, A(3, n) = 2n+3 − 3, and in general A(m, n) = 2 ↑m−2 (n + 3) − 3 in Knuth's up-arrow notation. Exact values use arbitrary-precision integers and stop at A(4, 2). The trace evaluates the definition literally with an explicit stack, capped at 1.5 million steps so the page never stalls; a capped trace says so.

Unit tests: tests/math.test.ts — values against the recursive definition, A(3, 3) = 61 in 2,432 evaluations, A(4, 2) digit count, notation boundaries.