## 2008-12-15

### A machine which executes a procedure ... Pop1 (1)

Japanese version

It has been while. We thought about a machine which generates the next number of the input last time. Here, we have seen a procedure of ''increment one.'' We coined this procedure as ''increment one,'' like there is something meaning. Or for human, this procedure has a meaning, ''increment one.'' But, the machine SUCC 1 just moves some symbols around. I think SUCC 1 did not understand the numbers. Here is too much to think about what is ''meaning'' or what is ''understanding.'' There is a hypothesis called ''Society of Mind'' by Marvin Minsky (this is a nice book and I recommend this.) which said a complex combination of simple functionalities creates intelligence, or you can not distinguish such complex thing from an intelligent thing. But SUCC 1 is such a simple machine and I believe I could safely say it has no intelligence. (By the way, are there any relationship between Marvin Minsky and the robot Marvin?) Although human being prefers that a machine performs something meaningful, it does not matter for the machine (or a machine can not matter anything so far). Performing a procedure becomes a computation. It is not necessary to understand what the computation means to perform computations.

SciFi novel usually describes this as a problem. A machine just executes its instructions without any understanding. We can make any dangerous machine (from Cordwainer Smith, The Instrumentality of Mankind's Menschenjager to a movie Terminator, and so on) Only moral can stop this. My favorite is ''Variant 2'' by Philip K. Dick, but it is too much here, so back to lambda calculus.

Figure 1 shows the machine POP1. POP1 can execute three instructions.

Figure 1: Pop1

(a) Copy input to output: Copy the contents of input table to the output table. (Figure (a))
(b) Remove head and tail: Remove head and tail on the output table (Figure (b))
(c) Add head and tail: Add a head and tail to the number on the output table (Figure (c))

These instructions are always valid if the input is a Church number. If the input is not a Church number, POP1 casts an error, usually it gets angry and throws the numbers to you. Sirius Cybernetics Coop.'s manual states that ''Please put a helmet on your head before running the program of POP1.''

Next time, let's write a POP1's program using these POP1 instructions.