Double_recursion

Double recursion

Double recursion

Add article description


In recursive function theory, double recursion is an extension of primitive recursion which allows the definition of non-primitive recursive functions like the Ackermann function.

Raphael M. Robinson called functions of two natural number variables G(n, x) double recursive with respect to given functions, if

  • G(0, x) is a given function of x.
  • G(n + 1, 0) is obtained by substitution from the function G(n, ·) and given functions.
  • G(n + 1, x + 1) is obtained by substitution from G(n + 1, x), the function G(n, ·) and given functions.[1]

Robinson goes on to provide a specific double recursive function (originally defined by Rózsa Péter)

  • G(0, x) = x + 1
  • G(n + 1, 0) = G(n, 1)
  • G(n + 1, x + 1) = G(n, G(n + 1, x))

where the given functions are primitive recursive, but G is not primitive recursive. In fact, this is precisely the function now known as the Ackermann function.

See also


References

  1. Raphael M. Robinson (1948). "Recursion and Double Recursion". Bulletin of the American Mathematical Society. 54 (10): 987–93. doi:10.1090/S0002-9904-1948-09121-2.

Share this article:

This article uses material from the Wikipedia article Double_recursion, and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.