# Ackermann function

Ackermann’s function $A(x,y)$ is defined by the recurrence relations

$A(0,y)$ | $=y+1$ | |||

$A(x+1,0)$ | $=A(x,1)$ | |||

$A(x+1,y+1)$ | $=A(x,A(x+1,y))$ |

Ackermann’s function is an example of a recursive function^{} that is not primitive recursive, but is instead $\mu $-recursive (that is, Turing-computable).

Ackermann’s function grows extremely fast. In fact, we find that

$A(0,y)$ | $=$ | $y+1$ | ||

$A(1,y)$ | $=$ | $2+(y+3)-3$ | ||

$A(2,y)$ | $=$ | $2\cdot (y+3)-3$ | ||

$A(3,y)$ | $=$ | ${2}^{y+3}-3$ | ||

$A(4,y)$ | $=$ | ${2}^{{2}^{.{\cdot}^{2}}}-3\mathit{\hspace{1em}}(y+3\text{exponentiations})$ | ||

$\mathrm{\cdots}$ |

… and at this point conventional notation breaks down, and we need to employ something like Conway notation or Knuth notation for large numbers.

Ackermann’s function wasn’t actually written in this form by its namesake, Wilhelm Ackermann. Instead, Ackermann found that the $z$-fold exponentiation of $x$ with $y$ was an example of a recursive function which was not primitive recursive. Later this was simplified by Rosza Peter to a function of two variables, similar to the one given above.

Title | Ackermann function^{} |
---|---|

Canonical name | AckermannFunction |

Date of creation | 2013-03-22 12:33:13 |

Last modified on | 2013-03-22 12:33:13 |

Owner | akrowne (2) |

Last modified by | akrowne (2) |

Numerical id | 9 |

Author | akrowne (2) |

Entry type | Definition |

Classification | msc 03D75 |