my-server
← Wiki

Sudan function

In the theory of computation, the Sudan function is an example of a function that is recursive, but not primitive recursive. This is also true of the better-known Ackermann function.

In 1926, David Hilbert conjectured that every computable function was primitive recursive. This was refuted by Gabriel Sudan and Wilhelm Ackermann both his students using different functions that were published in quick succession: Sudan in 1927, Ackermann in 1928.

The Sudan function is the earliest published example of a recursive function that is not primitive recursive.

Definition

The last equation can be equivalently written as

.

Computation

These equations can be used as rules of a term rewriting system (TRS).

The generalized function leads to the rewrite rules

At each reduction step the rightmost innermost occurrence of F is rewritten, by application of one of the rules (r1) - (r3).

Calude (1988) gives an example: compute .

The reduction sequence is

Value tables

Values of F<sub>0</sub>

F<sub>0</sub>(x,&nbsp;y) = x&nbsp;+&nbsp;y

Values of F<sub>1</sub>

F<sub>1</sub>(x,&nbsp;y) = 2<sup>y</sup>&nbsp;·&nbsp;(x&nbsp;+&nbsp;2) − y − 2

Values of F<sub>2</sub>

Values of F<sub>3</sub>

Notes and references

Bibliography

External links

  • OEIS: ,