|
All defined values of
|
0
|
none
|
1
|
|
2
|
|
4
|
|
8
|
|
16
|
|
64
|
|
77
|
|
128
|
|
133
|
|
255
|
|
256
|
|
847
|
|
37485
|
|
2268945
|
|
|
|
|
|
|
|
|
|
Fractran is "a simple universal programming language" devised by John Conway (1987), based on Marvin Minsky's formalized register machines (1961). A Fractran-1 program consists of a list of fractions ; computation is carried out using a working number , with initial value a positive integer and successive values given by the product where is the first fraction in the list for which the product is integral. Computation halts when no such is found. The exponents of the prime factors of serve as registers, and a fraction (with prime) serves as the instruction to increment register by and decrement register by .
Conway gives three "free samples" of Fractran programs: PRIMEGAME, which lists the primes, PIGAME, which gives the th digit of , and a universal program POLYGAME
for which he proved the following
Theorem. Define if POLYGAME, when started at , stops at , and otherwise leave undefined. Then every computable function appears among
Conway calls these indices the "catalogue numbers", and remarks that they "are easily computable for some quite interesting functions". As an example, he gives an integer such that is the function returning the th digit of .
where
and the thirty-eight 's are the fractions in this version of PIGAME
which when started at stops at .
Sources
[1] J. H. Conway, FRACTRAN: A Simple Universal Computing Language for Arithmetic, in: Open Problems in Communication and Computation (T. M. Cover and B. Gopinath, Eds.), Springer-Verlag: New York 1987, pp. 3-27 (Reprinted in [2])
[2] The Ultimate Challenge: The 3x+1 Problem. Jeffrey C. Lagarias (Ed.). American Mathematical Society 2010.