Sudan function


In the theory of computation, the Sudan function is an example of a function that is recursive, but not recursive function|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 -.
Calude gives an example: compute.
The reduction sequence is

Value tables

Values of F0

F0 = x + y
y \ x012345678910
0012345678910
11234567891011
223456789101112
3345678910111213
44567891011121314
556789101112131415
6678910111213141516
77891011121314151617
889101112131415161718
9910111213141516171819
101011121314151617181920

Values of F1

F1 = 2y · − y − 2
y \ x012345678910
0012345678910
113579111315171921
248121620242832364044
31119273543515967758391
42642587490106122138154170186
55789121153185217249281313345377
6120184248312376440504568632696760
724737550363175988710151143127113991527
8502758101412701526178220382294255028063062
910131525203725493061357340854597510956216133
1020363060408451086132715681809204102281125212276

Values of F2

Values of F3