From: Thomas Walker Lynch Date: Wed, 17 Jun 2026 16:33:40 +0000 (+0000) Subject: doc semantic chapter tags X-Git-Url: https://git.reasoningtechnology.com/%28%5B%5E?a=commitdiff_plain;h=a98496f6492a12c07c162cb4bd8751cba513752a;p=TM-2026 doc semantic chapter tags --- diff --git a/document/TM-2026.html b/document/TM-2026.html index dfc6d2a..1af5222 100644 --- a/document/TM-2026.html +++ b/document/TM-2026.html @@ -15,13 +15,13 @@ -

Preface

+ Preface

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.

-

Introduction

+ Introduction

In 1893 Gottlob Frege published an axiomatic construction of mathematics from set theory. Frege's grand objective was something he called Logicism, 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 . @@ -33,7 +33,7 @@

- 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 . Russell communicated this to Frege in a letter dated 1902-06-16, shortly before his second volume was going to print . Frege hurriedly authored an appendix (the Nachwort) admitting his system was compromised . + 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 . Russell communicated this to Frege in a letter dated 1902-06-16, shortly before his second volume was going to print . Frege hurriedly authored an appendix (the Nachwort) admitting his system was compromised .

@@ -66,7 +66,7 @@

- 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 , Martin Davis , and Marvin Minsky , leading to the modern standard presentations by authors such as John Hopcroft and Jeffrey Ullman , as well as Harry Lewis and Christos Papadimitriou . + 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 , Martin Davis , and Marvin Minsky , leading to the modern standard presentations by authors such as John Hopcroft and Jeffrey Ullman , as well as Harry Lewis and Christos Papadimitriou .

@@ -104,7 +104,7 @@ -

The computer design abstraction stack

+ The computer design abstraction stack

The six levels

@@ -299,7 +299,7 @@ -

Symbol

+ Symbol

A symbol 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.) @@ -503,7 +503,7 @@ -

The Turing Machine as an architecture

+ The Turing Machine as an architecture

In this interpretation of the Turing Machine, the architecture utilizes a single-ended tape, as done in Hopcroft and Ullman's book . 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 inconsequential variation of the two-way tape machine. @@ -896,7 +896,7 @@

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.

-

Orders of analysis

+ Orders of analysis

Turing Machines that halt in finite number of steps for any finite input withing a stipulated domain are said to be computational 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.

@@ -920,7 +920,7 @@
-

Addresses and cells

+ Addresses and cells

Natural Number, address

@@ -1130,7 +1130,7 @@
-

Multiple machines and sharing tapes

+ Multiple machines and sharing tapes

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.

@@ -1168,7 +1168,7 @@
-

Some properties of Turing Machines

+ Some properties of Turing Machines

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.

@@ -1198,7 +1198,7 @@
-

Performance Analysis

+ Performance Analysis

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.

@@ -1216,7 +1216,7 @@
-

Conventional Turing Machine variations

+ Conventional Turing Machine variations

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.

@@ -1386,7 +1386,7 @@

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.

-

Consequentiality across the design abstraction stack

+ Consequentiality across the design abstraction stack

Dhoice of realization

@@ -1503,7 +1503,7 @@
-

TTCA Turing Machine in Lisp

+ TTCA Turing Machine in Lisp

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.