How to Program an Infinite Abacus

This is an expository note to show how an “infinite abacus” (to be defined presently) can be programmed to compute any computable (recursive) function. Our method is probably not new, at any rate, it was suggested by the ingenious technique of Melzak [2] and may be regarded as a modification of the latter. By an infinite abacus we shall understand a countably infinite set of locations (holes, wires etc.) together with an unlimited supply of counters (pebbles, beads etc.). The locations are distinguishable, the counters are not. The confirmed finitist need not worry about these two infinitudes: To compute any given computable function only a finite number of locations will be used, and this number does not depend on the argument (or arguments) of the function.