 of overflow. The TM is, however, not capable of handling infinite numbers, or real numbers with an infinity of decimal places, as I shall discuss later. Example 7.3 This concerns the operation of subtraction. It is performed in a way similar to addi- tion, e.g., 7 - 3 = 1111111 - 111 = 1111 = 4. Assume first that the first operand (i) is greater than or equal to the second operand (j). Table 7.5 shows an action table performing the subtraction and outputting k = i - j. It is left as an exercise to verify how the proposed algorithm (call it Sub0) effectively works. If the first operand (i) is strictly less than the second (j), or i < j, we must use a subtraction algorithm different from Sub0; call it Subl. The problem is now to determine which out of Subo or Sub1 is relevant and must be assigned to the TM. We must then define a new algorithm, call it Comp, which compares the two operands (i, j) and determines which of the two cases, i j or i < j, applies. It is left as an exercise to determine an action table for implementing Comp. Based on the output of Comp, the TM can be then assigned to perform either Subo or Sub1 with the additional information from Comp that the result of the subtraction is nonnegative (k = i - j > 0) or strictly negative (k = i - j 0). Note that the case i = j (k = 0) is implicit in the output of Sub0. Algorithmic entropy and Kolmogorov complexity Table 7.5 Example of action table for Turing machine defining the subtraction of two numbers i,j(i>j) in unary system. Change of Output Input state cell contents state I will not develop the analysis further here, or a full TM program for subtraction. Suffice it to realize that Sub1 can be implemented as a mirror algorithm of Sub0, proceeding from right to left, or performing the operation k' = j - i. The information printed by Comp on the tape tells whether the output of the subtraction is positive or negative (noting that the case i = j (k = 0) is implicit in the output of Sub0). The lesson learnt is that the TM is capable of performing subtrac