Math 2.0

Mathematical logic and foundations Computability theory Theorem

Ackermann function is not primitive recursive

Builds on Primitive recursive functionComputable function

Statement

Let A ⁣:ℕ×ℕ→ℕA \colon \N \times \N \to \N be the Ackermann function, given by A(0,n)=n+1A(0, n) = n + 1, A(m+1,0)=A(m,1)A(m + 1, 0) = A(m, 1) and A(m+1,n+1)=A(m,A(m+1,n))A(m + 1, n + 1) = A(m, A(m + 1, n)). Then AA is a total computable function that is not primitive recursive.

Remarks

The key lemma is a domination result. For every primitive recursive f ⁣:ℕk→ℕf \colon \N^k \to \N there is m∈ℕm \in \N such that f(xˉ)<A(m,max⁡xˉ)f(\bar x) < A(m, \max \bar x) for all xˉ∈ℕk\bar x \in \N^k. It is proved by induction on the construction of ff, using that AA is increasing in each argument. If AA were primitive recursive, so would be g(n)=A(n,n)g(n) = A(n, n). Then some mm would give A(n,n)<A(m,n)A(n, n) < A(m, n) for all nn, which fails at n=mn = m.

The theorem shows that the class of primitive recursive functions is strictly smaller than the class of total computable functions. Computability of AA follows from the fact that the recursion decreases the pair (m,n)(m, n) in the lexicographic order.

Going deeper

For a student

Each primitive recursive function is dominated by one level n↦A(m,n)n \mapsto A(m, n) of the Ackermann function. The diagonal n↦A(n,n)n \mapsto A(n, n) escapes every level, so it is outside the class. This is a diagonal argument, like the one that shows that no effective list of total computable functions contains all of them. To reach all computable functions one adds unbounded search, which gives the general recursive functions.

Reading path

To understand this page from the ground up, read these 3 pages in order. The foundations come first.

Show the path as a graph
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Computable function concept
  2. Primitive recursive function concept
  3. Ackermann function is not primitive recursive statement

Further reading

  1. Web https://en.wikipedia.org/wiki/Ackermann_function
About this page
Tag97QF3KHSBY
URIm2://97QF3KHSBY
Kindstatement, theorem
WritingW0 stub
MSC03D20
StatusThis copy of the site has no build data. Run m2 status 97QF3KHSBY.
AboutAckermann function, Primitive recursive function
UsesPrimitive recursive function, Computable function
Changed2 November 2026

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • an inventory row: the row of the inventory that the node accounts for (0 of 1)
  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

No page links to this page yet.