site map 
[Received 28 May, 1936.—Read 12 November, 1936.] 



{230}  A. M. Turing  [ NOV. 12 1936.]  
ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THEENTSCHEIDUNGSPROBLEMBy A. M. TURING

On computable numbers, with an application to the Entscheidungsproblem was written by Alan Turing in 1936.  
Computing machinery and intelligence (Turing)  the Turing test and intelligence (abelard)  


On computable numbers, with an application to the Entscheidungsproblem (Turing)  Decision processes (abelard)  
The document, decision processes by abelard, gives an empiric analysis of the Entscheidungsproblem.. Computing machinery and intelligence
was published by Alan Turing in 1950. 
Custom Search

This document uses advanced technology.
You will need to use a Microsoft Internet Explorer browser (version 4 or above), or Mozilla Firefox with an IE View Extension, to see this document in full. If, on your screen, the embedded character (above on the left) does not appear similar to the character on the right, your browser is unable to display these embedded characters. A suitable browser is available to download (free) from Microsoft . Such browsers (Microsoft browsers version 4 and higher) can also be found on many software CDROMs, or else go to the yellow link above for links to either of two different Firefox addons. If the characters do look similar, or if you don't care, continue to the document start. For those interested in the reason for this, the document includes embedded text achieved using a technique for font embedding that is supported only by Microsoft Internet Explorer. More universal versions of this technology are no longer widely available.. 




1. Computing machines.  
2. Definitions.  
Automatic machines.  
Computing machines.  
Circle and circlefree numbers.  
Computable sequences and numbers.  
3. Examples of computing machines.  
4. Abbreviated tables  
Further examples.  
5. Enumeration of computable sequences.  
6. The universal computing machine.  
7. Detailed description of the universal machine.  
8. Application of the diagonal process.  
9. The extent of the computable numbers.  
10. Examples of large classes of numbers which are computable.  
11. Application to the Entscheidungsproblem.  
APPENDIX  
ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHEIDUNGSPROBLEM. A CORRECTION By A. M. Turing 

Publisher’s copyright notice—the London Mathematical Society  


The “computable” numbers may be described briefly as the real numbers whose expressions as a decimal are calculable by finite means. Although the subject of this paper is ostensibly the computable numbers, it is almost equally easy to define and investigate computable functions of an integral variable or a real or computable variable, computable predicates, and so forth. The fundamental problems involved are, however, the same in each case, and I have chosen the computable numbers for explicit treatment as involving the least cumbrous technique. I hope shortly to give an account of the relations of the computable numbers, functions, and so forth to one another. This will include a development of the theory of functions of a real variable expressed in terms of computable numbers. According to my definition, a number is computable if its decimal can be written down by a machine. In §§ 9, 10 I give some arguments with the intention of showing that the computable numbers include all numbers which could naturally be regarded as computable. In particular, I show that certain large classes of numbers are computable. They include, for instance, the real parts of all algebraic numbers, the real parts of the zeros of the Bessel functions, the numbers X, e, etc. The computable numbers do not, however, include all definable numbers, and an example is given of a definable number which is not computable. Although the class of computable numbers is so great, and in many ways similar to the class of real numbers, it is nevertheless enumerable. In §8 I examine certain arguments which would seem to prove the contrary. By the correct application of one of these arguments, conclusions are reached which are superficially similar to those of Gödel [1] . These results {231} have valuable applications. In particular, it is shown (§11) that the Hilbertian Entscheidungsproblem can have no solution. In a recent paper Alonzo Church[2] has introduced an idea of “effective calculability”, which is equivalent to my “computability”, but is very differently defined. Church also reaches similar conclusions about the Entscheidungsproblem.[3] The proof of equivalence between “computability” and “effective calculability” is outlined in an appendix to the present paper.


1. Computing machines.We have said that the computable numbers are those whose decimals are calculable by finite means. This requires rather more explicit definition. No real attempt will be made to justify the definitions given until we reach §9. For the present I shall only say that the justification lies in the fact that the human memory is necessarily limited. We may compare a man in the process of computing a real number to a machine which is only capable of a finite number of conditions q1, q2, ..., qR which will be called “mconfigurations”. The machine is supplied with a “tape”, (the analogue of paper) running through it, and divided into sections (called “squares”) each capable of bearing a “symbol”. At any moment there is just one square, say the rth, bearing the symbol S(r) which is “in the machine”. We may call this square the “scanned square”. The symbol on the scanned square may be called the “scanned symbol”. The “scanned symbol” is the only one of which the machine is, so to speak, “directly aware”. However, by altering its mconfiguration the machine can effectively remember some of the symbols which it has “seen” (scanned) previously. The possible behaviour of the machine at any moment is determined by the mconfiguration qn and the scanned symbol S(r). This pair qn, S(r) will be called the “configuration”: thus the configuration determines the possible behaviour of the machine. In some of the configurations in which the scanned square is blank (i.e. bears no symbol) the machine writes down a new symbol on the scanned square: in other configurations it erases the scanned symbol. The machine may also change the square which is being scanned, but only by shifting it one place to right or left. In addition to any of these operations the mconfiguration may be changed. Some of the symbols written down {232} will form the sequence of figures which is the decimal of the real number which is being computed. The others are just rough notes to “assist the memory”. It will only be these rough notes which will be liable to erasure. It is my contention that these operations include all those which are used in the computation of a number. The defence of this contention will be easier when the theory of the machines is familiar to the reader. In the next section I therefore proceed with the development of the theory and assume that it is understood what is meant by “machine”, “tape”, “scanned”, etc. 
2. Definitions.Automatic machines.If at each stage the motion of a machine (in the sense of §1) is completely determined by the configuration, we shall call the machine an “automatic machine” (or amachine). For some purposes we might use machines (choice machines or cmachines) whose motion is only partially determined by the configuration (hence the use of the word “possible” in §1). When such a machine reaches one of these ambiguous configurations, it cannot go on until some arbitrary choice has been made by an external operator. This would be the case if we were using machines to deal with axiomatic systems. In this paper I deal only with automatic machines, and will therefore often omit the prefix a. Computing machines.If an amachine prints two kinds of symbols, of which the first kind (called figures) consists entirely of 0 and 1 (the others being called symbols of the second kind), then the machine will be called a computing machine. If the machine is supplied with a blank tape and set in motion, starting from the correct initial mconfiguration, the subsequence of the symbols printed by it which are of the first kind will be called the sequence computed by the machine. The real number whose expression as a binary decimal is obtained by prefacing this sequence by a decimal point is called the number computed by the machine. At any stage of the motion of the machine, the number of the scanned square, the complete sequence of all symbols on the tape, and the mconfiguration will be said to describe the complete configuration at that stage. The changes of the machine and tape between successive complete configurations will be called the moves of the machine. {233} If a computing machine never writes down more than a finite number of symbols of the first kind it will be called circular. Otherwise it is said to be circlefree. A machine will be circular if it reaches a configuration from which there is no possible move, or if it goes on moving, and possibly printing symbols of the second kind, but cannot print any more symbols of the first kind. The significance of the term “circular” will be explained in §8.Computable sequences and numbers.A sequence is said to be computable if it can be computed by a circlefree machine. A number is computable if it differs by an integer from the number computed by a circlefree machine. We shall avoid confusion by speaking more often of computable sequences than of computable numbers. 
advertising disclaimer 
3. Examples of computing machines.I. A machine can be constructed to compute the sequence 010101.... The machine is to have the four mconfigurations “ b”, “c”, “z”, “e” and is capable of printing “0”, and “1”. The behaviour of the machine is described in the following table in which “R” means “the machine moves so that it scans the square immediately on the right of the one it was scanning previously”. Similarly for “L”. “E” means the scanned symbol is “erased” and “P” stands for “prints”. This table (and all succeeding tables of the same kind) is to be understood to mean that for a configuration described in the first two columns the operations in the third column are carried out successively, and the machine then goes over into the mconfiguration described in the last column. When the second column is left blank, it is understood that the behaviour of the third and fourth columns applies for any symbol and for no symbol. The machine starts in the mconfiguration b with a blank tape.
{234}If (contrary to the description in §1) we allow the letters L, R to appear more than once in the operations column we can simplify the table considerably.
II. As a slightly more difficult example we can construct a machine to compute the sequence 001011011101111011111.... The machine is to be capable of five mconfigurations, viz. “o”, “q”, “p”, “f”, “b” and of printing “e”, “x”, “0”, “1”. The first three symbols on the tape will be “ e e 0”; the other figures follow on alternate squares. On the intermediate squares we never print anything but “x”. These letters serve to “keep the place” for us and are erased when we have finished with them. We also arrange that in the sequence of figures on alternate squares there shall be no blanks. To illustrate the working of this machine a table is given below of the first few complete configurations. These complete configurations are described by writing down the sequence of symbols which are on the tape, {235} with the mconfiguration written below the scanned symbol. The successive complete configurations are separated by colons.
This table could also be written in the form
in which a space has been made on the left of the scanned symbol and the mconfiguration written in this space. This form is less easy to follow, but we shall make use of it later for theoretical purposes. The convention of writing the figures only on alternate squares is very useful: I shall always make use of it. I shall call the one sequence of alternate squares Fsquares and the other sequence Esquares. The symbols on Esquares will be liable to erasure. The symbols on Fsquares form a continuous sequence. There are no blanks until the end is reached. There is no need to have more than one Esquare between each pair of Fsquares: an apparent need of more Esquares can be satisfied by having a sufficiently rich variety of symbols capable of being printed on Esquares. If a symbol J is on an Fsquare S and a symbol I is on the Esquare next on the right of S, then S and J will be said to be marked with I. The process of printing this I will be called marking J (or S) with I. 
4. Abbreviated tablesThere are certain types of process used by nearly all machines, and these, in some machines, are used in many connections. These processes include copying down sequences of symbols, comparing sequences, erasing all symbols of a given form, etc. Where such processes are concerned we can abbreviate the tables for the mconfigurations considerably by the use of “skeleton tables”. In skeleton tables there appear capital German letters [4] and small Greek letters. These are of the nature of “variables”. By replacing each capital German letter throughout by an mconfiguration {236} and each small Greek letter by a symbol, we obtain the table for an mconfiguration. The skeleton tables are to be regarded as nothing but abbreviations: they are not essential. So long as the reader understands how to obtain the complete tables from the skeleton tables, there is no need to give any exact definitions in this connection. Let us consider an example: If we were to replace C throughout by q (say), B by r, and I by x, we should have a complete table for the mconfiguration f(qYr, x). f is called an “mconfiguration function” or “mfunction”. The only expressions which are admissible for substitution in an mfunction are the mconfigurations and symbols of the machine. Those have to be enumerated more or less explicitly: they may include expressions such as p (e, x); indeed they must if there are any mfunctions used at all. If we did not insist on this explicit enumeration but simply stated that the machine had certain mconfigurations (enumerated) and all mconfigurations obtainable by substitution of mconfigurations in certain mfunctions, we should usually get an infinity of mconfigurations; e.g., we might say that the machine was to have the mconfiguration q and all mconfigurations obtainable by substituting an mconfiguration for C in p(C). Then it would have qY p(q), p(p(q)),p(p(p(q))) ... as mconfigurations. Our interpretation rule then is this. We are given the names of the mconfigurations of the machine, mostly expressed in terms of mfunctions. We are also given skeleton tables. All we want is the complete table for the mconfigurations of the machine. This is obtained by repeated substitution in the skeleton tables. (In the explanations the symbol “\” is used to signify “the machine goes into the mconfiguration ...”)
The last example seems somewhat more difficult to interpret than most. Let us suppose that in the list of mconfigurations of some machine there appears e(b, x) (= q, say). The table is
Or, in greater detail:
In this we could replace e1(qYB, x) by q' and then give the table for f(with the right substitutions) and eventually reach a table in which no mfunctions appeared. {238} The last line stands for the totality of lines obtainable from it by replacing J by any symbol which may occur on the tape of the machine concerned. The first symbol marked I and the first marked J are compared. If there is neither I nor J \E. If there are both and the symbols are alike, \C. Otherwise \U.
cpe(CYUYEYI,J) differs from cp(CYUYEYI,J) in that in the case when there is similarity the first I and J are erased.
cpe(UYEYI,J).
The sequence of symbols marked I is compared
with the sequence marked J.
\E if they are similar. Otherwise U.
Some of the symbols Iand Jare
erased. 
5. Enumeration of computable sequences.A computable sequence O is determined by a description of a machine which computes O. Thus the sequence 001011011101111... is determined by the table on p.234, and, in fact, any computable sequence is capable of being described in terms of such a table. It will be useful to put these tables into a kind of standard form. In the first place let us suppose that the table is given in the same form as the first table, for example, I on p.233. That is to say, that the entry in the operations column is always of one of the forms E : E, R : E, L : Pa : Pa, R : Pa, L : R : L : or no entry at all. The table can always be put into this form by introducing more mconfigurations. Now let us give numbers to the mconfigurations, calling them q1 , ..., qR, as in § 1. The initial mconfiguration is always to be called q1. We also give numbers to the symbols S1, …, Sm{240}and, in particular, blank = S0, 0 = S1 , l = S2. The lines of the table are now of form
Lines such as
Are to be written as
And lines such as
To be written as
In this way we reduce each line of the table to a line of one of the forms (N1), (N2), (N3). From each line of form (N1) let us form an expression qi Sj Sk L qm; from each line of form (N2) we form an expression qi Si Sk R qm; and from each line of form (N3) we form an expression qi Sj Sk Nqm. Let us write down all expressions so formed from the table for the machine and separate them by semicolons. In this way we obtain a complete description of the machine. In this description we shall replace qi by the letter “D” followed by the letter “A” repeated i times, and Sj by “D” followed by “C” repeated j times. This new description of the machine may be called the standard description (S.D). It is made up entirely from the letters “A”, “C”, “D”, “L”, “R”, “N”, and from “;”. If finally we replace “A” by “1”, “C” by “2”, “D” by “3”, “L” by “4”, “R” by “5”, “N” by “6”, and “;” by “7” we shall have a description of the machine in the form of an arabic numeral. The integer represented by this numeral may be called a description number (D.N) of the machine. The D.N determine the S.D and the structure of the {241} machine uniquely. The machine whose D.N is n may be described as M(n). To each computable sequence there corresponds at least one description number, while to no description number does there correspond more than one computable sequence. The computable sequences and numbers arc therefore enumerable. Let us find a description number for the machine I of §3. When we rename the mconfigurations its table becomes:
Other tables could be obtained by adding irrelevant lines such as
Our first standard form would be
The standard description is
A description number is
and so is
A number which is a description number of a circlefree machine will be called a satisfactory number. In §8 it is shown that there can be no general process for determining whether a given number is satisfactory or not. 
6. The universal computing machine.It is possible to invent a single machine which can be used to compute any computable sequence. If this machine I is supplied with a tape on the beginning of which is written the S.D of some computing machine M, {242} then I will compute the same sequence as M. In this section I explain in outline the behavior of the machine. The next section is devoted to giving the complete table for I. Let us first suppose that we have a machine M' which will write down on the Fsquares the successive complete configurations of M. These might be expressed in the same form as on p.235, using the second description, (C), with all symbols on one line. Or, better, we could transform this description (as in §5) by replacing each mconfiguration by “D” followed by “A” repeated the appropriate number of times, and by replacing each symbol by “D” followed by “C” repeated the appropriate number of times. The numbers of letters “A” and “C” are to agree with the numbers chosen in §5, so that, in particular, “0” is replaced by “DC”, “1” by “DCC”, and the blanks by “D” . These substitutions are to be made after the complete configurations have been put together, as in (C). Difficulties arise if we do the substitution first. In each complete configuration the blanks would all have to be replaced by “D” , so that the complete configuration would not be expressed as a finite sequence of symbols. If in the description of the machine II of §3 we replace “o ” by “DAA”, “e” by “DCCC ”, “q”by “DAAA”, then the sequence (C) becomes:
(This is the sequence of symbols on Fsquares.) It is not difficult to see that if M can be constructed, then so can M'. The manner of operation of M' could be made to depend on having the rules of operation (i.e., the S.D) of it written somewhere within itself (i.e. within M'); each step could be carried out by referring to these rules. We have only to regard the rates as being capable of being taken out and exchanged or others and we have something very akin to the universal machine. One thing is lacking: at present the machine M' prints no figures. We may correct this by printing between each successive pair of complete configurations the figures which appear in the new configuration but not in the old. Then (C1) becomes
It is not altogether obvious that the Esquares leave enough room for the necessary “rough work”, but this is, in fact, the case. The sequences of letters between the colons in expressions such as (C1) may be used as standard descriptions of the complete configurations. When the letters are replaced by figures, as in §5, we shall have a numerical {243} description of the complete configuration, which may be called its description number. 
7. Detailed description of the universal machine.A table is given below of the behaviour of this universal machine. The mconfigurations of which the machine is capable are all those occurring in the first and last columns of the table, together with all those which occur when we write out the unabbreviated tables of those which appear in the table in the form of mfunctions. E.g., e(anf) appears in the table and is an mfunction. Its unabbreviated table is (see p. 239)
Consequently e1(anf) is an mconfiguration of I. When I is ready to start work the tape running through it bears on it the symbol e on an Fsquare and again e on the next Esquare; after this, on Fsquares only, comes the S.D of the machine followed by a double colon “: :” (a single symbol, on an Fsquare). The S.D consists of a number of instructions, separated by semicolons. Each instruction consists of five consecutive parts i ) “D” followed by a sequence of letters “A”.
This describes the relevant mconfiguration. iii ) “D” followed by another sequence of letters
“C”. This describes the symbol into which the scanned
symbol is to be changed. The machine I is to be capable of printing
“A”, “C”, “D”,
“0”, “1”, “u”, “v”,
“w”, “x”, “y”,
“z”. {244} Subsidiary skeleton table. The table for U. anf. Taking the long view, the last instruction relevant to the last configuration is found. It can be recognised afterwards as the instruction following the last semicolon marked z. \sim. {245} 
8. Application of the diagonal process.It may be thought that arguments which prove that the real numbers are not enumerable[5] would also prove that the computable numbers and sequences cannot be enumerable . It might, for instance, be thought that the limit of a sequence of computable numbers must be computable. This is clearly only true if the sequence of computable numbers is defined by some rule. Or we might apply the diagonal process. “If the computable sequences are enumerable, let In be the nth computable sequence, and let Yn(m) be the mth figure in In. Let J be the sequence with 1 – Yn(n) as its nth figure. Since Jis computable, there exists a number K such that 1 – Yn(n) = YK(n) all n. Putting n = K, we have 1 = 2YK(K), i.e. 1 is even. This is impossible. The computable sequences are therefore not enumerable”. The fallacy in this argument lies in the assumption that J is computable. It would be true if we could enumerate the computable sequences by finite means, but the problem of enumerating computable sequences is equivalent to the problem of finding out whether a given number is the D.N of a circlefree machine, and we have no general process for doing this in a finite number of steps. In fact, by applying the diagonal process argument correctly, we can show that there cannot be any such general process. The simplest and most direct proof of this is by showing that, if this general process exists, then there is a machine which computes J. This proof, although perfectly sound, has the disadvantage that it may leave the reader with a feeling that “there must be something wrong”. The proof which I shall give has not this disadvantage, and gives a certain insight into the significance of the idea “circlefree”. It depends not on constructing J, but on constructing J ', whose nth figure is Yn(n). {247} Let us suppose that there is such a process; that is to say, that we can invent a machine D which, when supplied with the S.D of any computing machine M will test this S.D and if M is circular will mark the S.D with the symbol “u” and if it is circlefree will mark it with “s”. By combining the machines D and I we could construct a machine M to compute the sequence J'. The machine D may require a tape. We may suppose that it uses the Esquares beyond all symbols on F squares, and that when it has reached its verdict all the rough work done by D is erased. The machine H has its motion divided into sections. In the first N –1 sections, among other things, the integers 1, 2, …, N – 1 have been written down and tested by the machine D. A certain number, say R(N – 1), of them have been found to be the D.N’s of circlefree machines. In the Nth section the machine D tests the number N. If N is satisfactory, i.e., if it is the D.N of a circlefree machine, then R(N) = 1 +R(N – 1) and the first. R(N) figures of the sequence of which a D.N is N are calculated. The R(N)th figure of this sequence is written down as one of the figures of the sequence J' computed by H. If N is not satisfactory, then R(N) = R(N – 1) and the machine goes on to the (N + 1)th section of its motion. From the construction of Hwe can see that H is circlefree. Each section of the motion of H comes to an end after a finite number of steps. For, by our assumption about D, the decision as to whether N is satisfactory is reached in a finite number of steps. If N is not satisfactory, then the Nth section is finished. If N is satisfactory, this means that the machine M(N) whose D.N is N is circlefree, and therefore its R(N)th figure can be calculated in a finite number of steps. When this figure has been calculated and written down as the R(N)th figure of J', the Nth section is finished. Hence H is circlefree. Now let K be the D.N of H. What does H do in the Kth section of its motion? It must test whether K is satisfactory, giving a verdict “s” or “u”. Since K is the D.N of Hand since H is circlefree, the verdict cannot be “u”. On the other hand the verdict cannot be “s”. For if it were, then in the Kth section of its motion H would be bound to compute the first R(K – 1)+1 = R(K) figures of the sequence computed by the machine with K as its D.N and to write down the R(K)th as a figure of the sequence computed by H. The computation of the first R(K) – 1 figures would be carried out all right, but the instructions for calculating the R(K)th would amount to “calculate the first R(K) figures computed by H and write down the R(K)th”. This R(K)th figure wonld never be found. I.e., H is circular, contrary both to what we have found in the last paragraph and to the verdict “s”. Thus both verdicts are impossible and we conclude that there can be no machine D. {248} We can show further that there can be no machine R which, when applied with the S.D of an arbitrary machine M, will determine whether M ever prints a given symbol (0 say). We will first show that, if there is a machine R, then there is a general process for determining whether a given machine M prints 0 infinitely often. Let M1 be a machine which prints the same sequence as M, except that in the position where the first 0 printed by M stands, M1 prints %. M2 is to have the first two symbols 0 replaced by %, and so on. Thus, if M were to print
then M1 would print
and M2 would print
Now let F be a machine which, when supplied with the S.D of M, will write down successively the S.D of M, of M1, of M2, … (there is such a machine). We combine F with R and obtain a new machine, G. In the motion of G first F is used to write down the S.D of M, and then R tests it, :0: is written if it is found that M never prints 0; then F writes the S.D of M1 and this is tested, :0: being printed if and only if M1 never prints 0; and so on. Now let us test G with R. If it is found that G never prints 0, then M prints 0 infinitely often; if G prints 0 sometimes, then M does not print 0 infinitely often. Similarly there is a general process for determining whether M prints 1 infinitely often. By a combination of these processes we have a process for determining whether M prints an infinity of figures, i.e. we have a process for determining whether M is circlefree. There can therefore be no machine R. The expression “there is a general process for determining …” has been need throughout this section as equivalent to “there is a machine which will determine …” This usage can be justified if and only if we can justify our definition of “computable”. For each of these “general process” problems can be expressed as a problem concerning a general process for determining whether a given integer n has a property G(n) [e.g. G(n) might mean “n is satisfactory” or “ n is the Gödel representation of a provable formula”], and this is equivalent to computing a number whose nth figure is 1 if G (n) is true and 0 if it is false. {249} 
9. The extent of the computable numbers.No attempt has yet been made to show that the “computable” numbers include all numbers which would naturally be regarded as computable. All arguments which can be given are bound to be, fundamentally, appeals to intuition, and for this reason rather unsatisfactory mathematically. The real question at issue is “What are the possible processes which can be carried out in computing a number?” The arguments which I shall use are of three kinds.
Once it is granted that computable numbers are all “computable” several other propositions of the same character follow. In particular, it follows that, if there is a general process for determining whether a formula of the Hilbert function calculus is provable, then the determination can be carried out by a machine. I. [Type (a)]. This argument is only an elaboration of the ideas of §1. Computing is normally done by writing certain symbols on paper. We may suppose this paper is divided into squares like a child's arithmetic book. In elementary arithmetic the twodimensional character of the paper is sometimes used. But such a use is always avoidable, and I think that it will be agreed that the twodimensional character of paper is no essential of computation. I assume then that the computation is carried out on onedimensional paper, i.e. on a tape divided into squares. I shall also suppose that the number of symbols which may be printed is finite. If we were to allow an infinity of symbols, then there would be symbols differing to an arbitrarily small extent.[6] The effect of this restriction of the number of symbols is not very serious. It is always possible to use sequences of symbols in the place of single symbols. Thus an Arabic numeral such as {250} 17 or 999999999999999 is normally treated as a single symbol. Similarly in any European language words are treated as single symbols (Chinese, however, attempts to have an enumerable infinity of symbols). The differences from our point of view between the single and compound symbols is that the compound symbols, if they are too lengthy, cannot be observed at one glance. This is in accordance with experience. We cannot tell at a glance whether 9999999999999999 and 999999999999999 are the same. The behaviour of the computer at any moment is determined by the symbols which he is observing. and his “state of mind” at that moment. We may suppose that there is a bound B to the number of symbols or squares which the computer can observe at one moment. If he wishes to observe more, he must use successive observations. We will also suppose that the number of states of mind which need be taken into account is finite. The reasons for this are of the same character as those which restrict the number of symbols. If we admitted an infinity of states of mind, some of them will be “arbitrarily close” and will be confused. Again, the restriction is not one which seriously affects computation, since the use of more complicated states of mind can be avoided by writing more symbols on the tape. Let us imagine the operations performed by the computer to be split up into “simple operations” which are so elementary that it is not easy to imagine them further divided. Every such operation consists of some change of the physical system consisting of the computer and his tape. We know the state of the system if we know the sequence of symbols on the tape, which of these are observed by the computer (possibly with a special order), and the state of mind of the computer. We may suppose that in a simple operation not more than one symbol is altered. Any other changes can be set up into simple changes of this kind. The situation in regard to the squares whose symbols may be altered in this way is the same as in regard to the observed squares. We may, therefore, without loss of generality, assume that the squares whose symbols are changed are always “observed” squares. Besides these changes of symbols, the simple operations must include changes of distribution of observed squares. The new observed squares must be immediately recognisable by the computer. I think it is reasonable to suppose that they can only be squares whose distance from the closest of the immediately previously observed squares does not exceed a certain fixed amount. Let us say that each of the new observed squares is within L squares of an immediately previously observed square. In connection with “immediate recognisability”, it may be thought that there are other kinds of square which are immediately recognisable. In particular, squares marked by special symbols might be taken as imme {251}diately recognisable. Now if these squares are marked only by single symbols there can be only a finite number of them, and we should not upset our theory by adjoining these marked squares to the observed squares. If, on the other hand, they are marked by a sequence of symbols, we cannot regard the process of recognition as a simple process. This is a fundamental point and should be illustrated. In most mathematical papers the equations and theorems are numbered. Normally the numbers do not go beyond (say) 1000. It is, therefore, possible to recognise a theorem at a glance by its number. But if the paper was very long, we might reach Theorem 157767733443477; then, farther on in the paper, we might find “... hence (applying Theorem 157767733443477) we have...”. In order to make sure which was the relevant theorem we should have to compare the two numbers figure by figure, possibly ticking the figures off in pencil to make sure of their not being counted twice. If in spite of this it is still thought that there are other “immediately recognisable” squares, it does not upset my contention so long as these squares can be found by some process of which my type of machine is capable. This idea is developed in III below. The simple operations must therefore include: (a) Changes of the symbol on one of the observed squares. It may be that some of these changes necessarily involve a change of state of mind. The most general single operation must therefore be taken to be one of the following: A. A possible change (a) of symbol together with a possible change of state of mind. B. A possible change (b) of observed squares, together with a possible change of state of mind. The operation actually performed is determined, as has been suggested on p.250, by the state of mind of the computer and the observed symbols. In particular, they determine the state of mind of the computer after the operation is carried out. We may now construct a machine to do the work of this computer. To each state of mind of the computer corresponds an “mconfiguration” of the machine. The machine scans B squares corresponding to the B squares observed by the computer. In any move the machine can change a symbol on a scanned square or can change anyone of the scanned squares to another square distant not more than L squares from one of the other scanned {252} squares. The move which is done, and the succeeding configuration, are determined by the scanned symbol and the mconfiguration. The machines just described do not differ very essentially from computing machines as defined in §2, and corresponding to any machine of this type a computing machine can be constructed to compute the same sequence, that is to say the sequence computed by the computer. If the notation of the Hilbert functional calculus [7] is modified so as to be systematic, and so as to involve only a finite number of symbols, it becomes possible to construct an automatic [8] machine K which will find all the provable formulae of the calculus.[9] Now let I be a sequence, and let us denote by Ga(x) the proposition “The xth figure of I is 1”, so that [10] – Ga(x) means “The xth figure of I is 0”. Suppose further that we can find a set of properties which define the sequence I and which can be expressed in terms of Ga(x) and of the propositional functions N(x) meaning “x is a nonnegative integer” and F(x,y) meaning “y = x + 1”. When we join all these formulae together conjunctively we shall have a formula, U say, which defines I. The terms of U must include the necessary parts of the Peano axioms, viz.,
which we will abbreviate to P. When we say “U defines I”, we mean that –U is not a provable formula, and also that, for each n, one of the following formulae (An) or (Bn) is provable.
where F[5] stands for F(u, u') & F(u', u") & … F(u[51], u[5]). {253} I say that Iis then a computable sequence: a machine K: to compute I can be obtained by a fairly simple modification of K. We divide the motion of K: into sections. The nth section is devoted to finding the nth figure of I. After the (n – l)th section is finished a double colon : : is printed after all the symbols, and the succeeding work is done wholly on the squares to the right of this double colon. The first step is to write the letter “A” followed by the formula (An) and then “B” followed by (Bn). The machine K: then starts to do the work of K, but whenever a provable formula is found, this formula is compared with (An) and with (Bn). If it is the same formula as (An), then the figure “1” is printed, and the nth section is finished. If it is (Bn), then “0” is printed and the section is finished. If it is different from both, then the work of K is continued from the point at which it had been abandoned. Sooner or later one of the formulae (An) or (Bn) is reached; this follows from our hypotheses about I and U, and the known nature of K. Hence the nth section will eventually be finished; Ka is circlefree; I is computable. It can also be shown that the numbers I definable in this way by the use of axioms include all the computable numbers. This is done by describing computing machines in terms of the function calculus. It must be remembered that we have attached rather a special meaning to the phrase “U defines I”. The computable numbers do not include all (in the ordinary sense) definable numbers. Let P be a sequence whose nth figure is 1 or 0 according as n is or is not satisfactory. It is an immediate consequence of the theorem of §8 that P is not computable. It is (so far as we know at present) possible that any assigned number of figures of P can be calculated, but not by a uniform process. When sufficiently many figures of P have been calculated, an essentially new method is necessary in order to obtain more figures. III. This may be regarded as a modification of I or as a corollary of II. We suppose, as in I, that the computation is carried out on a tape; but we avoid introducing the “state of mind” by considering a more physical and definite counterpart of it. It is always possible for the computer to break off from his work, to go away and forget all about it, and later to come back and go on with it. If he does this he must leave a note of instructions (written in some standard form) explaining how the work is to be continued. This note is the counterpart of the “state of mind”. We will suppose that the computer works by such a desultory manner that he never does more than one step at a sitting. The note of instructions must enable him to carry out one step and write the next note. Thus the state of progress of the computation at any stage is completely determined by the note of {254} instructions and the symbols on the tape. That is, the state of the system may be described by a single expression (sequence of symbols), consisting of the symbols on the tape followed by A (which we suppose not to appear elsewhere) and then by the note of instructions. This expression may be called the “state formula”. We know that the state formula at any given stage is determined by the state formula before the last step was made, and we assume that the relation of these two formulae is expressible in the functional calculus. In other words we assume that there is an axiom U which expresses the rules governing the behaviour of the computer, in terms of the relation of the state formula at any stage to the state formula at the proceeding stage. If this is so, we can construct a machine to write down the successive state formulae, and hence to compute the required number. 
10. Examples of large classes of numbers which are computable.It will be useful to begin with definitions of a computable function of an integral variable and of a computable variable, etc. There are many equivalent ways of defining a computable function of an integral variable. The simplest is, possibly, as follows. If O is a computable sequence in which 0 appears infinitely [12] often, and n is an integer, then let us defines W(O,n) to be the number of figures 1 between the nth and the (n+1)th figure 0 in O. Then Y(n) is computable if , for all n and some O, Y(n)=W(O,n). An equivalent definition is this. Let H(x,y) mean Y(x) = y. Then if we can find a contradictionfree axiom U& such that U& \P, and if for each integer n there exists and integer N, such that
and such that, if m / Y(n), then, for some N ',
then Y may be said to be a computable function. We cannot define general computable functions of a real variable, since there is no general method of describing a real number, but we can define a computable function of a computable variable. If n is satisfactory, let On be the number computed by M(n), and let
{255} unless On = 0 or On = 1, in either of which cases In = 0. Then, as n runs through the satisfactory numbers, In runs through the computable numbers.[13] Now let Y(n) be a computable function which can be shown to be such that for any satisfactory argument its value is satisfactory.[14] Then the function f, defined by f(In) = I&!n", is a computable function and all computable functions of a computable variable are expressible in this form. Similar definitions may be given of computable functions of several variables, computablevalued functions of an integral variable, etc. I shall enunciate a number of theorems about computability, but I shall prove only (ii) and a theorem similar to (iii). i ) A computable function of a computable function of an integral or computable variable is computable. ii ) Any function of an integral variable defined
recursively in terms of computable functions is computable. I.e. if Y(m,
n) is computable, and r is some integer, then T(n)
is computable, where iv ) If Y(n) is a computable function whose value is always 0 or 1, then the sequence whose nth figure is Y(n) is computable. Dedekind’s theorem does not hold in the ordinary form if we replace “real” throughout by ‘computable’. But it holds in the following form: v ) If G(I)
is a propositional function of the computable numbers and and there is a general process for determining the truth value of G(I), then {256} there is a computable number W such that In other words, the theorem holds for any section of the computables such that there is a general process for determining to which class a given number belongs. Owing to this restriction of Dedekind’s theorem, we cannot say that a computable bounded increasing sequence of computable numbers has a computable limit. This may possibly be understood by considering a sequence such as
On the other hand, (v) enables us to prove vi ) If Iand J are computable and I<J and Y(I)<0<Y(J), where Y(I) is a computable increasing continuous function, then there is a unique computable number O, satisfying I<O<J and Y(O) = 0. Computable convergence. We shall say that a sequence Jn of computable numbers converges computably if there is a computable integral valued function N(Q) of the computable variable Q, such that we can show that, if Q>0 and n>N(Q) and m>N(Q), then Jn –Jm<Q. We can then show that vii ) A power series whose coefficients form a computable sequence of computable numbers is computably convergent at all computable points in the interior of its interval of convergence. viii ) The limit of a computably convergent sequence is computable. And with the obvious definition of “uniformly computably convergent”: ix ) The limit of a uniformly computably convergent computable sequence
of computable functions is a computable function. Hence From (viii) and X= 4(l – #+% – ...) we deduce that X is computable. From e= 1 + 1 + $ + $ … we deduce that e is computable. {257} From (vi) we deduce that all real algebraic numbers are computable. From (vi) and (x) we deduce that the real zeros of the Bessel functions are computable. Proof of (ii). Let H(x,y) mean “T(x)=y”, and let K(x,y,z) mean “Y(x,y)=z”. U& is the axiom for Y(x,y). We take U* to be
I shall not give the proof of consistency of U*. Such a proof may be constructed by the methods used in Hilbert and Bernays, Grundlagen der Mathematik (Berlin, 1934), p.209 et seq. The consistency is also clear from the meaning. Suppose that for some n, N, we have shown
then, for some M,
and
Hence U* & F[8] \H(u[5], u[&O5P]). Also U* & F[6] \H(u,u[&O0P] . Hence for each n some formula of the form
is provable. Also, if M' @ M and M' @ m and m /T(u), then
{258} and U* & F[8Z] \[{G(u[&O5P], u [4]) v G(u[4], u[&O5P]) & H(u[5], u[&O5P])} \ (–H(u[5], u[4]))]. Hence U* & F[8Z] \(–H(u[5],u[4])) The conditions of our second definition of a computable function are therefore satisfied. Consequently T is a computable function. Proof of a modified form of (iii). Suppose that we are given a machine N, which, starting with a tape bearing on it ee followed by a sequence of any number of letters “F” on Fsquares and in the mconfiguration b, will compute a sequence On depending on the number n of letters “F”. If Yn(m) is the mth figure of On, then the sequence J whose nth figure is Yn(n) is computable. We suppose that the table for N has been written out in such a way that in each line only one operation appears in the operations column. We also suppose that C, B, % and ^ do not occur in the table, and we replace e throughout by C, 0 by % and 1 by ^. Further substitutions are then made. Any line of form
we replace by
and any line of the form
and we add to the table the following lines:
and similar lines with v for u and 1 for 0 together with the following line
We then have the table for the machine N' which
computes J. The initial mconfguration
is c, and the initial scanned symbol is the
second e. 
11. Application to the Entscheidungsproblem.The results of §8 have some important applications. In particular, they can be used to show that the Hilbert Entscheidungsproblem can have no solution. For the present I shall confine myself to proving this particular theorem. For the formulation of this problem I must refer the reader to Hilbert and Ackermann’s Grundzüge der Theoretischen Logik (Berlin, 1931), chapter 3. I propose, therefore, to show that there can be no general process for determining whether a given formula U of the functional calculus Z is provable, i.e. that there can be no machine which, supplied with any one U of these formulae, will eventually say whether U is provable. It should perhaps be remarked what I shall prove is quite different from the wellknown results of Gödel [15]. Gödel has shown that (in the formalism of Principia Mathematica) there are propositions U such that neither U nor –U is provable. As a consequence of this, it is shown that no proof of consistency of Principia Mathematica (or of Z) can be given within that formalism. On the other hand, I shall show that there is no general method which tells whether a given formula U is provable in Z, or, what comes to the same, whether the system consisting of Z with –U adjoined as an extra axiom is consistent. If the negation of what Gödel has shown had been proved, i.e. if, for each U, either U or –U is provable, then we should have an immediate solution of the Entscheidungsproblem. For we can invent a machine K which will prove consecutively all provable formulae. Sooner or later K will reach either U or –U. If it reaches U, then we know that U is provable. If it reaches –U, then, since Z is consistent (Hilbert and Ackermann, p.65), we know that U is not provable. Owing to the absence of integers in Z the proofs appear somewhat lengthy. The underlying ideas are quite straightforward. Corresponding to each computing machine M we construct a formula Un(M) and we show that, if there is a general method for determining whether Un (M) is provable, then there is a general method for determining whether M ever prints 0. The interpretations of the propositional functions involved are as follows: R So(x,y) is to be interpreted as “in the complete configuration x (of M) the symbol on the square y is S ”. {260} I(x,y) is to be interpreted as “in the complete configuration x the square y is scanned”. Kqp(x) is to be interpreted as “in the complete configuration x the mconfiguration is qm. F(x,y) is to be interpreted as “y is the immediate successor of x”. Inst{qiSj Sk Lqo} is to be an abbreviation for (x,y,x',y') ~(R Sg(x,y) & I(x,y) & Kqf(x) & F(x,x') & F(y',y))
Inst{qi, Sj, Sk, Rqo} and Inst{qi, Sj, Sk, Nqo} are to be abbreviations for other similarly constructed expressions. Let us put the description of M into the first standard form of §6. This description consists of a number of expressions such as “qi, Sj, Sk, Lqo” (or with R or N substituted for L). Let us form all the corresponding expressions such as Inst{qi, Sj, Sk, Lqo}and take their logical sum. This we call Des (M). The formula Un (M) is to be (`u)[N(u) & (x)(N(x)\`x')F(x,x'))
[N(u) & ... Des (M)] may be abbreviated to A(M). When we substitute the meanings suggested on p.259 – 60 we find that Un (M) has the interpretation “in some complete configuration of MY S1(i.e. 0) appears on the tape”. Corresponding to this I prove that a ) If S1 appears on the tape in some complete configuration of M, then Un (M) is provable. b ) If Un (M) is provable, then S1 appears on the tape in some complete configuration of M. When this has been done, the remainder of the theorem is trivial. {261} LEMMA1. If S1 appears on the tape in some complete configuration of M , then Un (M) is provable. We have to show how to prove Un (M). Let us suppose that in the nth complete configuration the sequence of symbols on the tape is Sr!n,0", Sr!n,1", ...., Sr!n,n", followed by nothing but blanks, and that the scanned symbol is the i(n)th, and that the mconfiguration is qk!n". Then we may form the proposition RSx[v\6](u[5], u) & RSx[v\7] (u[5], u') & ... RSx[v\v](u[5],u[5])
which we may abbreviate to CCn. As before, F(u,u') & F(u,u") & ... & F(u[61],u[6]), is abbreviated to F[6]. I shall show that all formulae of the form A(M) & F[5]\ CCn (abbreviated to CFn) are provable. The meaning of CFn is “The nth complete configuration of M is so and so”, where “so and so” stands for the actual nth complete configuration of M. That CFn should be provable is therefore to be expected. CF0 is certainly provable, for in the complete configuration the symbols are all blanks, the mconfiguration is q1, and the scanned square is u, i.e. CC0 is
A(M) \CC0 is then trivial. We next show that CFn \ CFn+1 is provable for each n. There are three cases to consider, according as in the move from the nth to the (n + l)th configuration the machine moves to left or to right or remains stationary. We suppose that the first case applies, i.e. the machine moves to the left. A similar argument applies in the other cases. If r(n,i(n))=a, r(n+1,i(n+1))=c, k(i(n))=b, and k(i(n+1))=d, then Des(M) must include Inst{qa Sb Sd Lqc} as one of its terms, i.e.
Hence A(M) & F[5+1] \ Inst{qa Sb Sd Lqc}& F[5+1]. But Inst{qa Sb Sd Lqc} & F[5+1] \ (CCn\CCn+1) is provable, and so therefore is
{262} and A(M) & F[5] \ CCn) \ (A(M) & F[5+1] \ CCn+1)
CFn is provable for each n. Now it is the assumption of this lemma that S1 appears somewhere, in some complete configuration, in the sequence of symbols printed by M; that is, for some integers N, K, CCN has RS7(u[9], u[7]) as one of its terms, and therefore CCN\RS7(u[9],u[7]) is provable. We have then
and A(M) & F[5] \ CC9 We also have (`u)A(M) \(`u)(`u') ... (`u[9Z]) A(M) & F[9], where N' = max (N, K). And so (`u)A(M) \(`u)(`u') … (`u[9Z]) RS7(u[9], u[7]),i.e. Un(M) is provable. This completes the proof of Lemma 1. LEMMA 2. If Un(M) is provable, then S1 appears on the tape in socomplete configuration of M. If we substitute any propositional functions for function variables in a provable formula, we obtain a true proposition. In particular, if we substitute the meanings tabulated on pp. 259 – 260 in Un(M), we obtain a true proposition with the meaning “S1 appears somewhere on the tape in some complete configuration of M”. We are now in a position to show that the Entseheidungsproblem cannot be solved. Let us suppose the contrary. Then there is a general (mechanical) process for determining whether Un(M) is provable. By Lemmas l and 2, this implies that there is a process for determining whether M ever prints 0, and this is impossible, by §8. Hence the Entscheidungsproblem cannot be solved. In view of the large number of particular cases of solutions of the Entscheidungsproblem for formulae with restricted systems of quantors, it {263} is interesting to express Un(M) in a form in which all quantors are at the beginning. Un(M) is, in fact, expressible in the form
where B contains no quantors, and n = 6. By unimportant modifications we can obtain a formula, with all essential properties of Un(M), which is of form (I) with n = 5. 
Added 28 August, 1936.  APPENDIX. 
Computability and effective calculability The theorem that all effectively calculable (Vdefinable) sequences are computable and its converse are proved below in outline. It is assumed that the terms “wellformed formula” (W.F.F.) and “conversion” as used by Church and Kleene are understood. In the second of these proofs the existence of several formulae is assumed without proof; these formulae may be constructed straightforwardly with the help of, e.g., the results of Kleene in “A theory of positive integers in formal logic”, American Journal of Math., 57 (1935), 153173, 219244. The W.F.F. representing an integer n will be denoted by Nn. We shall say that a sequence O whose nth figure is Y9(n) is Vdefinable or effectively calculable if 1+Y9(u) is a Vdefinable function of n, i.e. if there is a W.F.F. M9 such that, for all integers n,
i.e. {M9}(Nn) is convertible into Vxy.x(x(y)) or into Vxy.x(y) according as the nth figure of V is 1 or 0. To show that every Vdefinable sequence O is computable, we have to show how to construct a machine to compute O. For use with machines it is convenient to make a trivial modification in the calculus of conversion. This alteration consists in using x, x', x", ... as variables instead of a, b, c, …. We now construct a machine L which, when supplied with the formula M9, writes down the sequence O. The construction of L is somewhat similar to that of the machine K which proves all provable formulae of the functional calculus. We first construct a choice machine L1 which, if supplied with a W.F.F., M say, and suitably manipulated, obtains any formula into which M is convertible. L1 can then be modified so as to yield an automatic machine L2 which obtains successively all the formulae {264} into which M is convertible (cf footnote p.252). The machine L includes L2 as a part. The motion of the machine L when supplied with the formula M9 is divided into sections of which the nth is devoted to finding the nth figure of O. The first stage in this nth section is the formation of {M9} (Nn). This formula is then supplied to the machine L2, which converts it successively into various other formulae. Each formula into which it is convertible eventually appears, and each, as it is found, is compared with
and with Vx[Vx'[{x}(x')]], i.e. N1. If it is identical with the first of these, then the machine prints the figure 1 and the nth section is finished. If it is identical with the second, then 0 is printed and the section is finished. If it is different from both, then the work of' L2 is resumed. By hypothesis, {M9}(Nn) is convertible into one of the formulae N2 or N1; consequently the nth section will eventually be finished, i.e. the nth figure of O will eventually be written down. To prove that every computable sequence O is Vdefinable, we must show how to and a formula M9 such that, for all integers n,
Let M be a machine which computes O and let us take some description of the complete configurations of M by means of numbers, e.g. we may take the D.N of the complete configuration as described in §6. Let W(n) be the D.N of the nth complete configuration of M. The table for the machine M gives us a relation between W(n + 1) and W(n) of the form
where p9 is a function of very restricted, although not usually very simple, form: it is determined by the table for M. p9 is Vdefinable (I omit the proof of this), i.e. there is a W.F.F. A9 such that, for all integers n,
Let U9 stand for
where r = W(0); then, for all integers n,
{265} It may be proved that there is a formula V such that
Let W% stand for
so that, for each integer n,
and let Q be a formula such that
where r(s) is the sth integer q for which (W9) (Nn) is convertible into either N1 or N2. Then, if M9 stands for
it will have the required property.[16] The Graduate College, 
{544} {Proc. London Math. Soc, Ser. 2, Vol. 43,. No. 2198} ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHEIDUNGSPROBLEM.

If we can give a rule which associates with each positive integer n two rationals an, bn satisfying an? an+1 < bn+1 ? bn, bn – an < 25, then there is a computable number I for which an? I ?bn each n.  
(A) 
A proof of this may be given, valid by ordinary mathematical standards, but involving an application of the principle of excluded middle. On the other hand the following is false:
There is a rule whereby, given the rule of formation of the sequence an, bn in (A) we can obtain a D.N. for a machine to compute I . 

(B) 
That (B) is false, at least if we adopt the convention that the decimals of numbers of the form m/2* shall always terminate with zeros, can be seen in this way. Let N be some machine, and define cn as follows: cn = !243 if M has not printed a figure 0 by the time the nth complete configuration is reached cn = ! – 243 if 0 had first been printed as the mth {546} complete configuration (m?n). Put an = cn – 252, bn = cn + 252. Then the inequalities of (A) are satisfied, and the first figure of I is 0 if N ever prints 0 and is 1 otherwise. If (B) were true we should have a means of finding the first figure of I given the D.N. of N: i.e we should be able to determine whether N ever prints 0, contrary to the results of §8 of the paper quoted. Thus although (A) shows that there must be machines which compute the Euler constant (for example) we cannot at present describe any such machine, for we do not yet know whether the Euler constant is of the form m/2*.
This disagreeable situation can be avoided by modifying the manner in which computable numbers are associated with computable sequences, the totality of computable numbers being left unaltered. It may be done in many ways [19] of which this is an example. Suppose that the first figure of a computable sequence O is i and that this is followed by 1 repeated n times, then by 0 and finally by the sequence whose rth figure is cr; then the sequence O is to correspond to the real number
(2i – l) n + !(2cr – l)(^)6.
If the machine which computes O is regarded as computing also this real number then (B) holds. The uniqueness of representation of real numbers by sequences of figures is now lost, but this is of little theoretical importance, since the D.N.’s are not unique in any case.
Related further reading  
Decision processes  Computing machinery and intelligence  
On computable numbers, with an application to the Entscheidungsproblem  the Turing Test and intelligence 
Endnotes
he Turing test and intelligence gives a detailed logical analysis of the relationship between intelligence and Turing’s proposed test of intelligence (as outlined in Computing machinery and intelligence). 
latest  abstracts  briefings  information  headlines  resources  interesting  about abelard 
email abelard at abelard.org © abelard, 2001, 15 may the address for this document is http://www.abelard.org/turpap2/tp2ie.asp 13,936 words 