27.04.2015 Views

Computability and Logic

Computability and Logic

Computability and Logic

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

52 ABACUS COMPUTABILITY<br />

Figure 5-7. Addition in st<strong>and</strong>ard format.<br />

machine A in st<strong>and</strong>ard form, then for each register n that we might specify as holding<br />

the result of the computation there are infinitely many functions A r n that we have<br />

specified as computed by the abacus: one function for each possible number r of arguments.<br />

Thus if A is determined by the simplest chart for addition, as in Example 5.2,<br />

with n = 1 <strong>and</strong> m = 2, we have<br />

A 2 1 (x, y) = x + y<br />

for all natural numbers x <strong>and</strong> y, but we also have the identity function A 1 1 (x) = x<br />

of one argument, <strong>and</strong> for three or more arguments we have Ar 1(x 1,...,x r ) = x 1 + x 2 .<br />

Indeed, for r = 0 arguments we may think of A as computing a ‘function’ of a sort,<br />

namely, the number A 0 1<br />

= 0 of strokes in box 1 when the computation halts, having<br />

been started with all boxes (‘except the first r’) empty. Of course, the case is entirely<br />

parallel for Turing machines, each of which computes a function of r arguments in<br />

st<strong>and</strong>ard format for each r = 0, 1, 2, ..., the value for 0 being what we called the<br />

productivity of the machine in the preceding chapter.<br />

Having settled on st<strong>and</strong>ard formats for the two kinds of computation, we can turn<br />

to the problem of designing a method for converting the flow chart of an abacus A n ,<br />

with n designated as the box in which the values will appear, into the chart of a<br />

Turing machine that computes the same functions: for each r, the Turing machine<br />

will compute the same function A r n of r arguments that the abacus computes. Our<br />

method will specify a Turing-machine flow chart that is to replace each node of type<br />

n+ with its exiting arrow (as on the left in Figure 5-1, but without the entering arrow)<br />

in the abacus flow chart; a Turing-machine flow chart that is to replace each node<br />

of type n− with its two exiting arrows (as on the right in Figure 5-1, again without<br />

the entering arrow); <strong>and</strong> a mop-up Turing-machine flow chart that, at the end, makes<br />

the machine erase all but the nth block of strokes on the tape <strong>and</strong> halt, scanning the<br />

leftmost of the remaining strokes.<br />

It is important to be clear about the relationship between boxes of the abacus <strong>and</strong><br />

corresponding parts of the Turing machine’s tape. For example, in computing A 4 n (0,<br />

2, 1, 0), the initial tape <strong>and</strong> box configurations would be as shown in Figure 5-8.<br />

Boxes containing one or two or ...stones are represented by blocks of two or three<br />

or ...strokes on the tape. Single blanks separate portions of the tape corresponding to<br />

successive boxes. Empty boxes are always represented by single squares, which may<br />

be blank (as with R 5 , R 6 , R 7 , ...in the figure) or contain a single 1 (as with R 1 <strong>and</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!