From: Thomas Walker Lynch Date: Wed, 12 Aug 2026 00:41:36 +0000 (+0000) Subject: . before start chapter 7 revision, before λ-calculus addition X-Git-Url: https://git.reasoningtechnology.com/%28%5B%5E?a=commitdiff_plain;h=68ca674dc5976799980a6a7f5b6b5df6ecef0540;p=TM-2026 . before start chapter 7 revision, before λ-calculus addition --- diff --git a/document/book/TM-2026.html b/document/book/TM-2026.html index 991eed8..298595b 100644 --- a/document/book/TM-2026.html +++ b/document/book/TM-2026.html @@ -276,47 +276,74 @@ - - - The Turing Machine as a Natural object + + + On Turing and Babbage

- The computational naturalism thesis is that mathematics is a catalog of Turing Machine observations. For the Turing Machine to serve in that account, three conditions must hold. Although the Turing Machine is not realizable, the RT Machine variation defined in chapter is. The second is that Turing Machine programs encompass algorithms, so that an observation of the machine is an observation of mathematics. That condition holds, and how it came to be established is the subject of the two paragraphs that follow. The third is that a modern computer can do whatever a Turing Machine can do, so that it too is a Natural object embodying mathematics. Formally, the differences between a modern architecture and the Turing Machine must be computation theoretic inconsequential, a property defined in chapter , Computation theoretic consequentiality. The first and third conditions are where the difficulty lies, and the rest of this chapter lays it out. + In reading Alan Turing's 1936 paper, it is striking how modern the text feels, specifically because he discusses algorithms, stored programs, and the mechanical limits of computation. While his contemporaries largely built purely mathematical and logical frameworks, Turing uniquely tied computation theory directly to the abstraction of machines executing stored programs. Because physical hardware capable of executing stored programs had not yet been invented, this explicit architectural grounding makes Turing's work remarkably prescient. So it is not only theoreticians who take an interest in the original paper. Historians of computer architecture ask a question of their own about it: how big a leap was it? There was a leap, though as this chapter argues it is not the one they are looking for.

- To apply his proof to the Entscheidungsproblem, Turing carried the additional burden of establishing that Hilbert and Ackermann's intuitive concept of an effective procedure was functionally equivalent to a Turing Machine program. Alonzo Church had made an identification of this kind some months earlier - Alonzo Church, "An Unsolvable Problem of Elementary Number Theory," American Journal of Mathematics 58, no. 2 (April 1936): 345–363, the identification at 356. A preliminary statement was presented to the American Mathematical Society on 1935-04-19. The name 'Church's thesis' is due to Kleene. Church first framed the identification in terms of his own λ-definability. Gödel told him that this was thoroughly unsatisfactory, and Church restated it in terms of Herbrand-Gödel general recursiveness, which is the form that reached print. The exchange survives in a letter from Church to Kleene of 1935-11-29, quoted in Stephen C. Kleene, "Origins of Recursive Function Theory," Annals of the History of Computing 3, no. 1 (1981): 52–67, at 59., - and there was some controversy over his proposal. Turing then provided his naturalist argument, based on what a person does when he computes with pencil and paper. This made the explanation more intuitive, and it resolved the controversy - Church himself conceded that the 'Turing machine' explanation had the advantage of "making the identification with effectiveness in the ordinary (not explicitly defined) sense evident immediately", without preliminary theorems. Alonzo Church, review of A. M. Turing, "On Computable Numbers, with an Application to the Entscheidungsproblem," The Journal of Symbolic Logic 2, no. 1 (March 1937): 42–43. It runs two pages, and is the clearest short statement of the difference, made by the man who stood to lose by it. Gödel, who had rejected Church's proposal, came to the same view, remarking to Hao Wang that the sharp concept of a mechanical procedure was not perceived before Turing, who brought us to the right perspective; Hao Wang, From Mathematics to Philosophy (London: Routledge and Kegan Paul, 1974), 85. How far Gödel ever accepted the thesis in Church's own form is disputed; see Martin Davis, "Why Gödel Didn't Have Church's Thesis," Information and Control 54 (1982): 3–24.. + Modern computer architecture dates back to fellow Englishman Charles Babbage's Analytical Engine of 1837. It had an arithmetic mill, a store of a thousand numbers, and control by punched card, with conditional branching and looping. Babbage had held the Lucasian chair at Cambridge, where Turing was later a Fellow of King's, and the accounts of the engine were in print and on the shelves. Menabrea's description, in the Countess of Lovelace's translation and with her notes, had been available since 1843, and Babbage's own chapter on the engine since 1864L. F. Menabrea, "Sketch of the Analytical Engine Invented by Charles Babbage," trans. Ada Augusta, Countess of Lovelace, with translator's notes, in Richard Taylor, ed., Scientific Memoirs, vol. 3 (London: Richard and John E. Taylor, 1843), 666–731; Charles Babbage, Passages from the Life of a Philosopher (London: Longman, Green, 1864), chap. VIII.. Turing's paper does not mention any of it.

- Over the following decades, the academic community evaluated and accepted the argument, cementing what is now known as the Church-Turing Thesis. This consensus supplied the necessary bridge between mathematics and modern computer science by formally equating the vague, historical notion of a human procedure with the rigorous, mechanical definition of an algorithm. + So the question has been asked as to why Turing did not cite Babbage. Robin Gandy takes it up in his preface to the paper in Turing's collected worksR. O. Gandy, preface to "On Computable Numbers, with an Application to the Entscheidungsproblem," in R. O. Gandy and C. E. M. Yates, eds., Mathematical Logic, The Collected Works of A. M. Turing (Amsterdam: North-Holland, 2001). Gandy directs the reader to his own study of the period for the background of ideas and for the contributions of Hilbert's school, of Church and his students, and of Post: R. O. Gandy, "The Confluence of Ideas in 1936," in Rolf Herken, ed., The Universal Turing Machine: A Half-Century Survey (Oxford: Oxford University Press, 1988), 55–111.. He argues that Turing cannot have read Babbage, on the ground that he would have said so had he done so. Gandy allows that Turing might have seen the article on calculating machines in the eleventh edition of the Encyclopaedia Britannica, a copy of which Turing inherited from his father and consulted in later years, but observes that its treatment of the Analytical Engine is brief and dismissive, and would not have suggested to a reader that Babbage had conceived a universal machine. What can be said against this is that the material was there to be read. If Turing did not read these things, it was by choice or by accident, and not for want of access. +

+ +

+ Gandy's reasoning is an argument from silence. It moves from an absence in the text to an absence in the reading, and nothing short of a borrowing record or a letter could tell against it. There is nothing strange in originality arising from ignorance. A person who has not read a thing may well arrive at it himself, and often does, and a student who reaches an idea for the first time has reached it whether or not others reached it before him. What is strange is the use the ignorance is put to here. The academic standard for an original contribution asks what a man did that had not been done, and asks him to acknowledge what he drew upon. It does not ordinarily accept an absence of reading as a ground for the credit. Gandy offers one. Against which stands the plain fact that Gandy knew the man, and that most of what can be said about the period at all is said in his own study of it. +

+ +

Turing's paper is full of references to machines. He writes about tape and heads and configurations, about what a machine can be made to do and what it cannot be made to do. A man whose mind is running on machines to that degree is not a likely candidate for having read nothing about the topic.

+ +

But also notice, the paper is a mathematics paper, and its citations are the handful of mathematical works the argument stands on, Gödel and Church and Hilbert and Ackermann among them, and it surveys nothing. Babbage's engine was not a source for the argument. It belonged to the common stock of what a machine was. Turing advanced no claim about computer architecture anywhere in those pages, for the sufficient reason that computer architecture was not what he was writing about.

+ +

As archaeologists of computer history, we have decided what is important in computer architecture, and what is not, and only then gone back to the old literature looking for things, such as discussions of stored program computers. This was not the question Turing was addressing in 1936. The machine in the paper was not being offered as a new technique for real computers to take advantage of, nor even as a computer architecture research topic.

+ +

+ Had Turing's attention been focused on that question afterward, giving him an opportunity to place it in its proper context, he would have answered it fairly. We know this, because he did. In 1950 he discusses the Analytical Engine at some length, mentions that Babbage held the Lucasian chair from 1828 to 1839, and calls the engine a universal digital computerAlan M. Turing, "Computing Machinery and Intelligence," Mind 59, no. 236 (October 1950): 433–460, the Analytical Engine at 439.. The acknowledgment was generous. Universality is the very property later writers would wish to reserve for Turing, yet Turing assigns it to Babbage without hesitation and without a syllable suggesting a rival claim.

- So the second condition holds. Algorithms and Turing Machine programs are the same thing, and an observation of the machine is therefore an observation of mathematics. The third condition is harder, and it was not a question Turing was in a position to ask. + Which leaves the question the historian actually wants answered. Was Turing at a point on a continuum, arriving where several others were already arriving, or did he leap? Some of the continuum is visible. Emil Post published a nearly identical formulation in the same year, a worker moving between boxes in a symbol space, and Gandy's own study of the period sets out how many hands were reaching for the same thingEmil L. Post, "Finite Combinatory Processes—Formulation 1," The Journal of Symbolic Logic 1, no. 3 (September 1936): 103–105..

- In reading Alan Turing's 1936 paper, it is striking how modern the text feels, specifically because he discusses algorithms, stored programs, and the mechanical limits of computation. While his contemporaries largely built purely mathematical and logical frameworks, Turing uniquely tied computation theory directly to the abstraction of machines executing stored programs. Because physical hardware capable of executing stored programs had not yet been invented, this explicit architectural grounding makes Turing's work remarkably prescient. + Whatever the leap was, it was not a matter of machine sophistication. Of the two machines, Babbage's was the concrete one. He drew its parts and worked out its gearing, and devised a Mechanical Notation to keep track of what the assembly was doingCharles Babbage, "On a Method of Expressing by Signs the Action of Machinery," Philosophical Transactions of the Royal Society of London 116 (1826)., which was an abstraction of a sort, though not of Turing's sort. Turing's machine was never meant to be built. It was described in order to be reasoned about, and described plainly enough that everything it could ever do could be enumerated. The move was not toward a more capable machine but away from one. +

+ +

+ The leap was in what the machine was for. Mathematics had always been the grounding and the machine the application, a device for carrying out what mathematics had already licensed. Turing turned this on its head. He began with a clerk at a desk, described a machine that does what the clerk does, and then read mathematics off the machine, so that what can be proved became a question of what the machine can be made to do. That is Computational Naturalism, and it is why this book begins where it does. +

+ + +
+ + + + + The conditions on a Natural machine + +

+ The Computational Naturalism thesis holds that mathematics is a taxonomy of machine observations. This sets some conditions. For a machine to be observed, it must be possible to realize it. For observations of the machine to be relevant, its program must be able to encompass any statement in mathematics, being a second condition, and execution must be faithful to the program, being a third condition. The third condition will be met if said observable machine is a computation theoretic inconsequential variation of the Turing Machine. This property is formally defined in chapter ; informally it means that the observed machine gives the same computation theoretic results as a Turing Machine. This argument builds on the work already done with Turing Machines, and it establishes that said programs are executed faithfully to their meaning.

- Still, Turing could not formally connect the Turing Machine to modern architectures, simply because those architectures did not yet exist. Here, by modern, I refer to architectures utilizing random-access system memory, dedicated instruction fetch streams with dynamic branching, and discrete processing units. Charles Babbage had reached several of these ideas a century earlier with the Analytical Engine, but no line runs forward from it to 1936; the engine was never built, and the ideas waited until the 1940s to reemergeAccounts of the Analytical Engine were in print and on library shelves in 1936, and Turing's paper does not mention them. The question of whether he had read them is raised by Robin Gandy in his preface to the paper in Turing's collected works. Gandy argues that Turing cannot have read Babbage, on the ground that he would have said so had he done so. He allows that Turing might have seen the article on calculating machines in the eleventh edition of the Encyclopaedia Britannica, a copy of which Turing inherited from his father and consulted in later years, but observes that its treatment of the Analytical Engine is brief and dismissive, and would not have suggested to a reader that Babbage had conceived a universal machine. R. O. Gandy, preface to "On Computable Numbers, with an Application to the Entscheidungsproblem," in R. O. Gandy and C. E. M. Yates, eds., Mathematical Logic, The Collected Works of A. M. Turing (Amsterdam: North-Holland, 2001). Gandy directs the reader to his own study of the period for the background of ideas and for the contributions of Hilbert's school, of Church and his students, and of Post: R. O. Gandy, "The Confluence of Ideas in 1936," in Rolf Herken, ed., The Universal Turing Machine: A Half-Century Survey (Oxford: Oxford University Press, 1988), 55–111. The reasoning is an argument from silence. It moves from an absence in the text to an absence in the reading, and nothing short of a borrowing record or a letter could tell against it. What can be said is that the material was available. Menabrea's account, in the Countess of Lovelace's translation and with her notes, had been in print since 1843 in Taylor's Scientific Memoirs, and Babbage's own chapter on the engine had been in print since 1864. Babbage had held the Lucasian chair at Cambridge, where Turing was a Fellow of King's. Turing did not read these things, if he did not, by choice or by accident, and not for want of access. There is something peculiar in the shape of the defence. It secures Turing's independence by crediting him with a gap in his reading, which is an odd currency to pay originality in, and the transaction is made on Turing's behalf rather than by him. Gandy was Turing's student, his friend, and his literary executor, which is worth knowing when weighing the argument, though it is not an answer to it. It is also worth noting what he said once the question was live. By 1950 Turing discusses the Analytical Engine at some length, knows that Babbage held the Lucasian chair from 1828 to 1839, and is willing to call the engine a universal digital computer. Yet he reaches Lovelace's memoir there by way of Douglas Hartree's 1949 book, citing Hartree's page for the quotation rather than the memoir itself. That is consistent with his never having gone to the primary source, though it settles nothing about 1936. Alan M. Turing, "Computing Machinery and Intelligence," Mind 59, no. 236 (October 1950): 433–460, the Analytical Engine at 439 and Lovelace's objection at 450; Douglas R. Hartree, Calculating Instruments and Machines (Urbana: University of Illinois Press, 1949), 70; L. F. Menabrea, "Sketch of the Analytical Engine Invented by Charles Babbage," trans. Ada Augusta, Countess of Lovelace, with translator's notes, in Richard Taylor, ed., Scientific Memoirs, vol. 3 (London: Richard and John E. Taylor, 1843), 666–731; Charles Babbage, Passages from the Life of a Philosopher (London: Longman, Green, 1864), chap. VIII. The last consideration is the one that matters here, and it cuts the question down. Babbage would have been of no use to Turing. The Entscheidungsproblem needed a machine whose entire repertoire of behaviour could be catalogued and then diagonalized over. The Analytical Engine has far too much architecture for that. Reading it would have been a distraction rather than a shortcut, and a historian who establishes that Turing did read it will not thereby have taken anything away from him.. The practical engineering context of 1936 was limited to calculating machines programmed via patch panels. Hence, for example, there is no explanation in his paper as to why a von Neumann architecture machine (1945) running a program would exhibit the computation theoretic results derived from a computation theory based on the Turing Machine (1936). + The Turing Machine itself fails the first condition. It cannot be built, so the machine that started the Naturalism thesis cannot carry the thesis. Some other machine has to, and satisfying the third condition is what makes the substitution of the new machine valid. A realizable machine that is not a computation theoretic inconsequential variation of the Turing Machine is merely some other machine, and a catalog of observations of it is a catalog of nothing in particular. The obvious candidate is the computer already sitting on the desk, which descends from the concrete machine Babbage drew rather than from the paper one Turing described. It is realizable by construction, it is the machine people actually own and run, and were it to satisfy the third condition the thesis would be finished here, with no proposal to make and no book to write. It does not satisfy it. Establishing that, and locating precisely where it fails, is in part the business of this book. A machine that does satisfy all three conditions is the RT Machine of chapter .

- Before asking whether a given architecture measures up to the Turing Machine, we need to say what measuring up would consist of. Like a Turing Machine, a computer architecture is an abstraction. The box sitting on a person's desk is a realization of some computer architecture. To say a Turing Machine does something is to say that the Turing Machine was analyzed and the result of the analysis is that 'something'. A computer architecture can also be analyzed. A computer architecture is said to be Turing Complete when, through analysis, it is determined that it can do anything that a Turing Machine can do. The practical implication for a realization of such an architecture is that running a program will fault only because a) the program logic told it to, b) the program has a flaw, or c) there is a mathematical fact standing in the way of execution. A shortage of a physical resource is not a fourth reason, provided the architecture can pause a program until a 'more memory' request is fulfilled, because that shortage is a limit of the realization and not of the architecture. However, if the architecture itself stipulates a bound that a program can reach, such as a fixed address width or a fixed Integer width, then every realization of it must fail on some program that a Turing Machine would carry to completion, and the architecture is not Turing Complete. + A computer architecture, like a Turing Machine, is an abstraction, and the box sitting on a person's desk is a realization of one. Being Turing Complete is a weaker requirement than being a computation theoretic inconsequential variation. Being Turing Complete is the more conventional metric used. An architecture is Turing Complete if, when running a program that a Turing Machine could run to the point of halting, a realization of it can fault only because a) the program logic told it to, b) the program has a flaw, or c) there is a mathematical fact standing in the way of execution. A shortage of a physical resource is not a fourth reason, provided the architecture can pause a program until a 'more memory' request is fulfilled. Otherwise the computer also runs the program to the point of halting. However, if the architecture itself stipulates a bound that a program can reach, such as a fixed address width or a fixed Integer width, then every realization of it must fail on some program that a Turing Machine would carry to completion. Consequently, no current conventional architecture of this era meets even this weaker requirement.

- With that criterion in hand, consider the infinite tape, which is not as large a hurdle as it might seem at first. For computational problems, the Turing Machine halts in a finite number of steps. Because the Turing Machine is limited to stepping the read/write head over one cell per machine execution step, only a finite amount of tape is ever used. But for a given computation, how much tape is that? Resolving this by assuming more tape is simply attached when needed is analogous to cheating in a 'guess the bigger number' game by declaring, "My number is always one bigger than the given number, so I will tell you my guess after you state your number." Some mathematicians suggest that what is meant by infinity is precisely a rule of this sort. For engineers building physical hardware, however, to state that a resource starts finite and expands incrementally over time is a very different proposition from being asked to install infinite memory on a machine in the first place. + As for the Turing Machine, the infinite tape is not as large a hurdle as it might seem at first. For computational problems, the Turing Machine halts in a finite number of steps. Because the Turing Machine is limited to stepping the read/write head over one cell per machine execution step, only a finite amount of tape is ever used. But for a given computation, how much tape is that? Resolving this by assuming more tape is simply attached when needed is analogous to cheating in a 'guess the bigger number' game by declaring, "My number is always one bigger than the given number, so I will tell you my guess after you state your number." Some mathematicians suggest that what is meant by infinity is precisely a rule of this sort. For engineers building physical hardware, however, to state that a resource starts finite and expands incrementally over time is a very different proposition from being asked to install infinite memory on a machine in the first place.

- In 1967, Marvin Minsky addressed this very topic, saying: "We need not think of the machine's tape as infinite. We imagine instead that the machine begins with a finite tape, but that, whenever an end is encountered, another unit of tape is attached." Marvin L. Minsky, Computation: Finite and Infinite Machines (Englewood Cliffs: Prentice-Hall, 1967), 167. In 1967, this was a perfectly natural thing to suggest, as computers utilized magnetic tape memory on manually mounted reels, and it was entirely possible for a computation to stop and request a new reel of tape to be mounted. Contemporary computer architectures do, in fact, achieve a similar effect through virtual memory. When physical RAM is depleted, the operating system pauses the active process and autonomously provisions apparent capacity by swapping memory pages out to auxiliary storage. So the graceful expansion Minsky described is already in place, and it works, right up until a stipulated bound is reached. Once the available swap space is exhausted or the address space is saturated, the operating system abruptly terminates the process. + In 1967, Marvin Minsky addressed this very topic, saying: "We need not think of the machine's tape as infinite. We imagine instead that the machine begins with a finite tape, but that, whenever an end is encountered, another unit of tape is attached." Marvin L. Minsky, Computation: Finite and Infinite Machines (Englewood Cliffs: Prentice-Hall, 1967), 167. In 1967, this was a perfectly natural thing to suggest, as computers utilized magnetic tape memory on manually mounted reels, and it was entirely possible for a computation to stop and request a new reel of tape to be mounted. Contemporary computer architectures do, in fact, achieve a similar effect through virtual memory. When physical RAM is depleted, the operating system pauses the active process and autonomously provisions apparent capacity by swapping memory pages out to auxiliary storage. So the graceful expansion Minsky described is already in place, and it works, right up until a stipulated bound is reached when it doesn't work any longer. Once the available swap space is exhausted or the address space is saturated, the operating system abruptly terminates the process.

@@ -324,11 +351,35 @@

- The Turing Machine does not escape criticism either, and its defect is the more serious of the two. Its head must read and react at every step, and the only place a controller has to hold what it has seen is a branch in its own control path. So the Turing Machine uses its controller as memory. When we come to analyze a machine that reverses a string, we will find the consequence: the number of states and arcs required grows exponentially with the width of a machine word, and for a word of any practical size the controller cannot be built at all. A machine room operator can mount another reel of tape. Nobody can mount a larger controller, because the controller is finite by definition. The tape's limit was handed outside the machine and dealt with there. The controller's limit is sealed inside the model, where nothing can reach it. + The problem with the controller is more nuanced. The head of a Turing Machine must read and react at every step, and the only place a controller has to hold what it has seen is a branch in its own control path. So the Turing Machine uses its controller as memory. This is treated in detail in section , where a machine that reverses a string is analyzed and the consequence is proven: the number of states and arcs required grows exponentially with the width of a machine word, and for a word of any practical size the controller cannot be built at all. A machine room operator can mount another reel of tape. Nobody can mount a larger controller, because the controller is fixed at the start. The tape's limit can be handed outside the machine and dealt with there, as we have just seen. The controller's limit is sealed inside the model, where nothing can reach it. +

+ +

+ So the first condition defeats the Turing Machine, and the third defeats the machine on the desk. The second condition stands on different ground altogether, and the work on it started along with the Entscheidungsproblem. +

+ +

+ Any solution to the Entscheidungsproblem required, as a prerequisite, that Hilbert and Ackermann's effective procedures be formalized, since nothing can be proved about what has not been articulated. That prerequisite is a salient subset of the second condition, which asks for any statement in mathematics. Alonzo Church got there first. He offered a solution to the Entscheidungsproblem in terms of his lambda calculus, and with it a general account of what an effective procedure is, identifying effective calculability with λ-definability. Gödel found the identification unsatisfactory, and Church restated it in terms of Herbrand-Gödel general recursiveness, which is the form that reached printAlonzo Church, "An Unsolvable Problem of Elementary Number Theory," American Journal of Mathematics 58, no. 2 (April 1936): 345–363, the identification at 356. A preliminary statement was presented to the American Mathematical Society on 1935-04-19. The name 'Church's thesis' is due to Kleene. Church first framed the identification in terms of his own λ-definability. Gödel told him that this was thoroughly unsatisfactory, and Church restated it in terms of Herbrand-Gödel general recursiveness, which is the form that reached print. The exchange survives in a letter from Church to Kleene of 1935-11-29, quoted in Stephen C. Kleene, "Origins of Recursive Function Theory," Annals of the History of Computing 3, no. 1 (1981): 52–67, at 59.. Turing arrived at the same prerequisite by another route, identifying the effective procedure with a Turing Machine program, and argued for it from what a person does when he computes with pencil and paper. Neither claim is the sort of thing that admits of proof, since one side of each identity is an informal notion and offers nothing to prove against. What can be done is to argue for it, and Turing's argument was the more intuitive, which is what settled the controversyChurch himself conceded that the 'Turing machine' explanation had the advantage of "making the identification with effectiveness in the ordinary (not explicitly defined) sense evident immediately", without preliminary theorems. Alonzo Church, review of A. M. Turing, "On Computable Numbers, with an Application to the Entscheidungsproblem," The Journal of Symbolic Logic 2, no. 1 (March 1937): 42–43. It runs two pages, and is the clearest short statement of the difference, made by the man who stood to lose by it. Gödel, who had rejected Church's proposal, came to the same view, remarking to Hao Wang that the sharp concept of a mechanical procedure was not perceived before Turing, who brought us to the right perspective; Hao Wang, From Mathematics to Philosophy (London: Routledge and Kegan Paul, 1974), 85. How far Gödel ever accepted the thesis in Church's own form is disputed; see Martin Davis, "Why Gödel Didn't Have Church's Thesis," Information and Control 54 (1982): 3–24.. +

+ +

+ Over the following decades, the academic community evaluated and accepted the argument, cementing what is now known as the Church-Turing Thesis. This consensus supplied the necessary bridge between mathematics and modern computer science by formally equating the vague, historical notion of a human procedure with the rigorous, mechanical definition of an algorithm.

- To complete the Turing Machine story, then, we will transform the Turing Machine into a modern architecture in a stepwise fashion, while ensuring that at each step the modifications are inconsequential to computation theoretic existence proofs and complexity class results. The transformation does not run in one direction only. On the Turing Machine side, the controller has to stop being used as memory. On the modern side, the fixed widths an architecture stipulates, those of an address and of an Integer, are what have to give way. The two meet in the middle, and the machine we arrive at is less strange than that might suggest. It separates the control path from the data path; it holds an instruction table; and it has a small register file. It looks modern. The differences from what we currently build are real but few, and the point of the exercise is that we could build it. Building it satisfies the first condition. Holding every modification to one that is computation theoretic inconsequential satisfies the third. The two are met together, and they are met by the same machine. + The Church-Turing Thesis identifies procedures with programs, so whatever a mathematician can carry out, a Turing Machine can carry out. However, this is less than the second condition asks for. Knowing that every calculation a mathematician performs is a machine program says nothing yet about the numbers he calculates with, the sets he quantifies over, or the proofs he writes down. Those are the objects the procedures act upon, and the thesis is silent about them. +

+ +

+ The remainder is delivered by construction rather than by thesis, and it occupies much of this book. A tape cell is defined as a location in physical memory in section , and a symbol in computational terms in section . Logic follows from relay switch logic, as Shannon and others have already established. On top of logic sits the Peano Machine, a counter, which then serves as the definition of Peano Numbers. Where Gödel reduced logic to Peano Numbers, we run the other way and expand logic out of them. An axiomatic proof becomes a decider assembled from subroutine calls to the axioms. Frege's set theory becomes the analysis of a logic program against an enumeration of inputs. Russell's paradox becomes a machine that can be analyzed in the second order though it will never halt in the first, which requires the orders of analysis set out in section . The whole is drawn together in chapter , where the claim is that every statement a mathematician has ever made can be restated in this language. +

+ +

+ Thus, the procedures come from Church and Turing, the objects the procedures work on come from the construction, and an observation of the machine is then an observation of mathematics. What remains is a machine that keeps hold of this while meeting the other two conditions. +

+ +

+ There is a remedy, and it occupies the chapters that follow. We will transform the Turing Machine into a modern architecture in a stepwise fashion, while ensuring that at each step the modifications are inconsequential to computation theoretic existence proofs and complexity class results. The transformation does not run in one direction only. On the Turing Machine side, the controller has to stop being used as memory. On the modern side, the fixed widths an architecture stipulates, those of an address and of an Integer, are what have to give way. The two meet in the middle, and the machine we arrive at is less strange than that might suggest. It separates the control path from the data path; it holds an instruction table; and it has a small register file. It looks modern. The differences from what we currently build are real but few, and the point of the exercise is that we could build it. That machine, the RT Machine of chapter , satisfies the first condition by being buildable and the third by the manner of its construction, and it inherits the second from the Turing Machine it was transformed out of. Neither the Turing Machine nor the computer on the desk is a Natural manifestation of mathematics. The RT Machine, standing between them, is.

@@ -852,7 +903,8 @@
- + + Analysis of the reverse machine

The total number of steps for reversing an n symbol string:

@@ -4827,5 +4879,7 @@ -->