doc semantic chapter tags
authorThomas Walker Lynch <eknp9n@reasoningtechnology.com>
Wed, 17 Jun 2026 16:33:40 +0000 (16:33 +0000)
committerThomas Walker Lynch <eknp9n@reasoningtechnology.com>
Wed, 17 Jun 2026 16:33:40 +0000 (16:33 +0000)
document/TM-2026.html

index dfc6d2a..1af5222 100644 (file)
 
       <RT-TOC level="1-2"></RT-TOC>
 
-      <h1>Preface</h1>
+      <RT-chapter>Preface</RT-chapter>
 
       <p>
         This is the first volume of the book Tom's Turing Complete Computer Architecture, 'TTCA' book. The initial chapters set down the theory of the TM, Tape Machine. Following the theory chapters is a description of a software library for using the TM as a general iterator and container. The TM software library was released with the first edition of this volume in 2022, written in Common Lisp, and placed on MELPA. Since then, ad hoc versions were developed in C, Java, and Python. The TM-2026 GitHub project has as its purpose unifying the various language versions with a revised command language. The larger objective of these volumes is to morph the Turing Machine into a modern architecture, thus bridging computation theory to computing. The TM software library is a useful fallout of this work.
       </p>
 
-<h1>Introduction</h1>
+      <RT-chapter>Introduction</RT-chapter>
 
       <p>
         In 1893 Gottlob Frege published an axiomatic construction of mathematics from set theory. Frege's grand objective was something he called <RT-term>Logicism</RT-term>, the philosophical thesis that all of mathematics can be derived entirely from pure logic. To achieve this, his specific machinery relied upon unrestricted set comprehension, formalized as Basic Law V <RT-cite ref="Gottlob Frege, Grundgesetze der Arithmetik, Vol. II, 1903, Appendix (Nachwort), p. 253."></RT-cite>.
@@ -33,7 +33,7 @@
       </p>
 
       <p>
-        In 1901 Bertrand Russell discovered a paradox in Frege's machinery. The paradox Russell pointed out was the well-formed formula that defined the set of all sets that do not contain themselves, and the question of whether such a set contained itself <RT-cite ref="Bertrand Russell, The Principles of Mathematics, Cambridge University Press, 1903, Chapter X, 'The Contradiction'."></RT-cite>. Russell communicated this to Frege in a letter dated 1902-06-16, shortly before his second volume was going to print <RT-cite ref="Letter from Bertrand Russell to Gottlob Frege, 1902-06-16, reprinted in Jean van Heijenoort, From Frege to Gödel: A Source Book in Mathematical Logic, Harvard University Press, 1967, pp. 124-125."></RT-cite> <RT-cite ref="Gottlob Frege, Grundgesetze der Arithmetik, Vol. II, 1903, Appendix (Nachwort), p. 253. Frege writes: 'Hardly anything more unfortunate can befall a scientific writer than to have one of the foundations of his edifice shaken after the work is finished.'"></RT-cite>. Frege hurriedly authored an appendix (the Nachwort) admitting his system was compromised <RT-cite ref="Frege was a quiet, rigid man who had spent decades building his logical fortress in almost total academic obscurity. Frege was personally devastated by Russell's letter. Shortly after, he suffered the loss of his wife, fell into severe depression, and his academic output almost entirely ceased. In 1924, a year before his death, he wrote unpublished diaries explicitly surrendering his life's work, declaring that logicism was a mistake and that mathematics must actually be derived from geometry. Note I. Grattan-Guinness, The Search for Mathematical Roots, 1870-1940, Princeton University Press, 2000. For an analysis of Frege's intellectual decline, personal tragedies, and his unpublished 1924-1925 diaries where he formally surrenders the logicist program, see Chapter 7."></RT-cite>.
+        In 1901 Bertrand Russell discovered a paradox in Frege's formalism. The paradox Russell pointed out was the well-formed formula that defined the set of all sets that do not contain themselves, and the question of whether such a set contained itself <RT-cite ref="Bertrand Russell, The Principles of Mathematics, Cambridge University Press, 1903, Chapter X, 'The Contradiction'."></RT-cite>. Russell communicated this to Frege in a letter dated 1902-06-16, shortly before his second volume was going to print <RT-cite ref="Letter from Bertrand Russell to Gottlob Frege, 1902-06-16, reprinted in Jean van Heijenoort, From Frege to Gödel: A Source Book in Mathematical Logic, Harvard University Press, 1967, pp. 124-125."></RT-cite> <RT-cite ref="Gottlob Frege, Grundgesetze der Arithmetik, Vol. II, 1903, Appendix (Nachwort), p. 253. Frege writes: 'Hardly anything more unfortunate can befall a scientific writer than to have one of the foundations of his edifice shaken after the work is finished.'"></RT-cite>. Frege hurriedly authored an appendix (the Nachwort) admitting his system was compromised <RT-cite ref="Frege was a quiet, rigid man who had spent decades building his logical fortress in almost total academic obscurity. Frege was personally devastated by Russell's letter. Shortly after, he suffered the loss of his wife, fell into severe depression, and his academic output almost entirely ceased. In 1924, a year before his death, he wrote unpublished diaries explicitly surrendering his life's work, declaring that logicism was a mistake and that mathematics must actually be derived from geometry. Note I. Grattan-Guinness, The Search for Mathematical Roots, 1870-1940, Princeton University Press, 2000. For an analysis of Frege's intellectual decline, personal tragedies, and his unpublished 1924-1925 diaries where he formally surrenders the logicist program, see Chapter 7."></RT-cite>.
       </p>
 
       <p>
@@ -66,7 +66,7 @@
       </p>
 
       <p>
-        The academic community was thus equipped with three mathematically equivalent foundations for computation theory: recursive functions, the lambda calculus, and the Turing Machine. While all three frameworks remain active subjects of study, Turing's model is unique in providing practical intuition through direct metaphors for physical machines and programs. This made it the foundation of choice for computation theory textbooks by Stephen Kleene <RT-cite ref="Stephen C. Kleene, Introduction to Metamathematics, North-Holland, 1952"></RT-cite>, Martin Davis <RT-cite ref="Martin Davis, Computability and Unsolvability, McGraw-Hill, 1958"></RT-cite>, and Marvin Minsky <RT-cite ref="Marvin L. Minsky, Computation: Finite and Infinite Machines, Prentice-Hall, 1967"></RT-cite>, leading to the modern standard presentations by authors such as John Hopcroft and Jeffrey Ullman <RT-cite ref="John E. Hopcroft and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, 1979"></RT-cite>, as well as Harry Lewis and Christos Papadimitriou <RT-cite ref="Harry R. Lewis and Christos H. Papadimitriou, Elements of the Theory of Computation, Prentice-Hall, 1981, ISBN 978-0132624787"></RT-cite>.
+        The academic community was thus equipped with three mathematically equivalent foundations for computation theory: recursive functions, the lambda calculus, and the Turing Machine. While all three frameworks remain active subjects of study, Turing's model is unique in providing practical intuition through the abstraction of physical machines and programs. This made it the foundation of choice for computation theory textbooks by Stephen Kleene <RT-cite ref="Stephen C. Kleene, Introduction to Metamathematics, North-Holland, 1952"></RT-cite>, Martin Davis <RT-cite ref="Martin Davis, Computability and Unsolvability, McGraw-Hill, 1958"></RT-cite>, and Marvin Minsky <RT-cite ref="Marvin L. Minsky, Computation: Finite and Infinite Machines, Prentice-Hall, 1967"></RT-cite>, leading to the modern standard presentations by authors such as John Hopcroft and Jeffrey Ullman <RT-cite ref="John E. Hopcroft and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, 1979"></RT-cite>, as well as Harry Lewis and Christos Papadimitriou <RT-cite ref="Harry R. Lewis and Christos H. Papadimitriou, Elements of the Theory of Computation, Prentice-Hall, 1981, ISBN 978-0132624787"></RT-cite>.
       </p>
 
       <p>
 
 
 
-      <h1>The computer design abstraction stack</h1>
+      <RT-chapter>The computer design abstraction stack</RT-chapter>
 
       <h2>The six levels</h2>
 
 
 
 
-      <h1>Symbol</h1>
+      <RT-chapter>Symbol</RT-chapter>
 
       <p>
         A <RT-term>symbol</RT-term> is a distinct mathematical object capable of being instantiated. Within a given context, any instance of a specific symbol evaluates as equal to any other instance of that identical symbol, and evaluates as not equal to any instance of a different symbol. (As a matter of convenience in this document, sequences of letters and/or digits are utilized for symbol instances.)
       </RT-code>
 
 
-      <h1>The Turing Machine as an architecture</h1>
+      <RT-chapter>The Turing Machine as an architecture</RT-chapter>
 
       <p>
         In this interpretation of the Turing Machine, the architecture utilizes a single-ended tape, as done in Hopcroft and Ullman's book <RT-cite ref="John E. Hopcroft and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, 1979"></RT-cite>. If a computation strictly requires a two-way infinite tape, the single-ended tape can simulate it by interleaving the addresses: assigning odd-addressed cells to represent the right-going half, and even-addressed cells to represent the left-going half. This simulation requires taking two steps instead of one to advance in a given logical direction. When analyzing the time complexity of an algorithm, this overhead merely doubles the constant on the linear term, leaving the asymptotic order of complexity entirely unchanged. The outcomes of decider programs are unaffected. Therefore, utilizing a single-ended tape is an <RT-term>inconsequential</RT-term> variation of the two-way tape machine.
 <p>That includes sets. When two current state sets have the same members, we say they are instances of the same state. When they have different members we say they are different states.</p>
 
 
-      <h1>Orders of analysis</h1>
+      <RT-chapter>Orders of analysis</RT-chapter>
 
       <p>Turing Machines that halt in finite number of steps for any finite input withing a stipulated domain are said to be <RT-term>computational</RT-term> over that domain. It is also the case that for any given non-computational Turing Machine over a given domain there will exist at least one input for which the machine will never halt.</p>
 
 
       <hr>
 
-      <h1>Addresses and cells</h1>
+      <RT-chapter>Addresses and cells</RT-chapter>
 
       <h2>Natural Number, address</h2>
 
 
       <hr>
 
-      <h1>Multiple machines and sharing tapes</h1>
+      <RT-chapter>Multiple machines and sharing tapes</RT-chapter>
 
       <p>Suppose we unmount a tape from a halted Turing Machine, say machine T0, and then mount the tape on another Turing Machine as input, say machine T1. Suppose we do this so that machine T1 may calculate the length of the output made by the first machine. When we do this, we run into some problems.</p>
 
 
       <hr>
 
-      <h1>Some properties of Turing Machines</h1>
+      <RT-chapter>Some properties of Turing Machines</RT-chapter>
 
       <p>For a given Turing Machine, the input is the sole determiner of the output. I.e. each time the same input is given, we get the same output. The input and output are mathematical objects, hence Turing Machines are functions. However, it is common in computer science to speak of Turing Machines as 'solving problems' rather than saying they are functions. This is because we often think of the inputs and outputs of Turing Machines as being something other than mathematical objects. For example, when a Turing Machine sorts sequences found on its input, we might say that it solves a sorting problem.</p>
 
 
       <hr>
 
-      <h1>Performance Analysis</h1>
+      <RT-chapter>Performance Analysis</RT-chapter>
 
       <p>An interesting aspect of the Turing Machine procedure is that it introduces the concept of stepping the machine. With the addition of some simple constraints it becomes possible to map the parts of the Turing Machine abstraction to the parts of some real machines. These constraints may take the form of such things as bounds on the length of the inputs, or the addition of out-of-resource errors. Because such constraints do not affect the 'normal' workings of the machine, the derived relationship between a Turing Machine step, and that of a unit of real time might not be that complicated. Indeed, except for some enumerable cases this relationship might even be so simple as to assign to a step an approximately constant amount of time.</p>
 
 
       <hr>
 
-      <h1>Conventional Turing Machine variations</h1>
+      <RT-chapter>Conventional Turing Machine variations</RT-chapter>
 
       <p>In the first section of this chapter we gave a rather conventional definition for a Turing Machine. In the prior section, Complexity, we noted that we can analyze Turing Machines to find their time and space complexities. In this section we will discuss some variations that a person finds in the literature.</p>
 
 
       <p>The original Turing Machine had an infinite tape. In contrast the TTCA machine has a surprising property: for computational problems all of its components remain finite. This follows from the fact that during computation a machine makes a finite number of steps, so the tape can only be expanded to be a finite size.</p>
 
-      <h1>Consequentiality across the design abstraction stack</h1>
+      <RT-chapter>Consequentiality across the design abstraction stack</RT-chapter>
 
 
       <h2>Dhoice of realization</h2>
 
       <hr>
 
-      <h1>TTCA Turing Machine in Lisp</h1>
+      <RT-chapter>TTCA Turing Machine in Lisp</RT-chapter>
 
       <p>Because our TTCA Turing Machine has finite sized components, we may create a software model for the TTCA Turing Machine without having to make assumptions of the sort that ‘very large approximates the infinite’. Rather we can show a one-to-one mapping of code and data in the software model and the TTCA variation of the Turing Machine. Consequently, the software model and theoretic model are isomorphic.</p>