computational Turing Machine section coming along
authorThomas Walker Lynch <eknp9n@reasoningtechnology.com>
Thu, 16 Jul 2026 08:24:07 +0000 (08:24 +0000)
committerThomas Walker Lynch <eknp9n@reasoningtechnology.com>
Thu, 16 Jul 2026 08:24:07 +0000 (08:24 +0000)
document/book/TM-2026.html

index 6d14c18..89fd214 100644 (file)
 
       <p>A goal of the computation theorist in defining a Turing Machine is to make the math concise and elegant as they can make it. This notation qualifies. However, the goal of the computer architect is to make an intuitive to design and test machine that performs well. Perhaps if a computer architect were to define the computational Turing Machine, this change in emphasis would favor a different definition.</p>
 
-      <p>The following modifications will be made to the computation theoretic Turing Machine definition so as to support the <RT·code>uspecified</RT·code> symbol.</p>
+      <p>The following modifications will be made to the computation theoretic Turing Machine definition so as to support the <RT·code>unspecified</RT·code> symbol.</p>
       <ol>
         <li>Move to a Moore style programmed state controller, so that actions can be managed separately from state transitions.</li>
-        <li>Among the new explicit actions, to have two read instructions, one the control read that reads a value that is used by the next state function, and the data reads, which stores a value for later use.</li>
-        <li>To match the two read functions, the right function can specify either the control read symbol buffer, or the data read symbol buffer.</li>
+        <li>Among the new explicit actions, to have two read instructions, a state transition gating symbol read, and data symbol read, along with two variables to hold the read results.</li>
+        <li>To match the two read functions, the write function can specify which of the read buffer contents to put on the tape.</li>
         <li>If <RT·code>uspecified</RT·code>
       </ol>
 
       <p>There is a mechanical procedure for converting a Moore Machine into a Mealy Machine, and the reverse. Two such converted machines are equally expressive. Making read an explicit action, instead of having it implied by a state transition, increases the number of states in a controller, and consequently the numbers of steps that must be taken. However, the new machine can do in two steps, anything the former machine could do in one, consequently this change affects the multiplier constant on the linear term of the step count formula, but does not change the computation complexity class determined from such a step count. The three layers of next state functions are equivalent to one layer, where the missing arguments are filled in with all possible values. This potentially increases the number of state transition arcs that must be specified, but the state transition logic and the number of states remain unchanged. Giving the specification in two parts does not change the total specification.  Hence, 
       these modifications are computationally inconsequential.</p>
 
-      <h3>Turing Machine Definition, the programmable part</h3>
+      <h3>The TTCA Turing Machine fixed part</h3>
+
+      <p><RT·math>
+        MF = (QF, ΣF, AF, λF)
+      </RT·math></p>
+
+      <p><RT·math>QF</RT·math>: The set of predefined <em>states</em>, including <RT·math>QF.\mathtt{initial}</RT·math> and <RT·math>QF.\mathtt{unspecified\_decision}</RT·math>.</p>
+
+      <p><RT·math>ΣF</RT·math>: The set of predefined symbols, including <RT·math>ΣF.\mathtt{unspecified}</RT·math> and <RT·math>ΣF.\mathtt{left\_of\_leftmost}</RT·math>.</p>
+
+      <p><RT·math>AF</RT·math>: The set of available actions {<RT·math>\mathtt{no\_op}</RT·math>, <RT·math>\mathtt{left}</RT·math>, <RT·math>\mathtt{right}</RT·math>, <RT·math>\mathtt{write\_\sigma}(\sigma)</RT·math>, <RT·math>\mathtt{write\_d}</RT·math>, <RT·math>\mathtt{write\_g}</RT·math>}, where <RT·math>\mathit{symbol}</RT·math> must be in <RT·math>Σ</RT·math>.</p>
+
+      <p><RT·math>λF</RT·math>: The predefined action table. A set of pairs of the form <RT·math>\langle q_0, a \rangle</RT·math>, where <RT·math>q_0</RT·math> is the current state, and <RT·math>a</RT·math> is a member of <RT·math>AF</RT·math>.</p>
+
+
+      <h3>The TTCA Turing Machine variables</h3>
 
       <RT·math>
-        M = (Q, \Sigma, κ, A, \lambda, \delta, q_0, q_h, q_e)
+        MV = (q, d, g)
       </RT·math>
 
-      <p>Where the components are redefined to strictly model a Moore machine organization:</p>
+      <p><RT·math>q</RT·math>: is the current state of the machine.
+      <p><RT·math>d</RT·math>: is the data register. 
+      <p><RT·math>g</RT·math>: is the gate register.
 
-      <ul>
-        <li><RT·math>Q</RT·math>: The finite set of <em>states</em> of the programmed controller.</li>
 
-        <li><RT·math>\Sigma</RT·math>: The <em>alphabet</em>, a finite set containing all the symbols that can be written to the tape, or used as gating values on state transition arcs.</li>
+      <h3>The TTCA Turing Machine programmable part</h3>
 
-        <li><RT·math>κ</RT·math>: The <em>control alphabet</em>, a finite set of containing predefined symbols. A symbol in this set is referred to as <RT·math>κ.x</RT·math>. <RT·math>κ</RT·math> is a subset of <RT·math>\Sigma</RT·math></li>
+      <p><RT·math>
+        MP = (QP, ΣP, λP, δ, δ_0, δ_00)
+      </RT·math></p>
 
-        <li><RT·math>A</RT·math>: The <em>action alphabet</em> namespace. A set of actions 
-          {<RT·code>no-op</RT·code>, <RT·code>step-left</RT·code>, <RT·code>step</RT·code>, <RT·code>write(<em>x</em>)</RT·code>}, <em>x</em> must be in <RT·math>\Sigma</RT·math> or be the empty symbol.
+      <p><RT·math>QP</RT·math>: A set of <em>state</em> symbols. </p>
 
-        <li><RT·math>\lambda(q, a)</RT·math>: The action function. The argument <RT·math>q</RT·math> is a state, while <RT·math>a</RT·math> is a member of <RT·math>A</RT·math>.</li>
+      <p><RT·math>ΣP</RT·math>: A set of data symbols. 
 
-        <li><RT·math>\delta(q, X</RT·math>: The next state function. The arguments are a current state <RT·math>q</RT·math> and a scanned tape symbol <RT·math>X</RT·math>. It evaluates to <RT·math>p</RT·math>, the next state in <RT·math>Q</RT·math>.</li>
+      <p><RT·math>λP</RT·math>: The programmed actions. A set of pairs of the form <RT·math>\langle q_0, a \rangle</RT·math>, where <RT·math>q_0</RT·math> is the current state, and <RT·math>a</RT·math> is a member of <RT·math>AF</RT·math>.</p>
 
-        <li><RT·math>q_0</RT·math>: The <em>initial state</em> reference, a member of <RT·math>Q</RT·math>.</li>
+      <p><RT·math>δ</RT·math>: A set of state transition triples, each triple is of the form <RT·math>&lt;q_0, <em>r</em>.σ, q_1&gt<RT·math>. Where <RT·math>q_0</RT·math> is matched the current state of the machine. <RT·math>r.σ</RT·math> is a symbol in register <RT·math><em>r</em></RT·math>. <RT·math>q_1</RT·math> is the next state. <RT·math>q_0</RT·math> and <RT·math>q_1</RT·math> come for the total set <RT·math>Q</RT·math>. <RT·math>σ</RT·math> comes from the total set <RT·math>Σ</RT·math>.  <em>r</em></RT·math> is either <RT·math>d</RT·math> or <RT·math>g</RT·math>.</p>
 
-        <li><RT·math>q_h</RT·math>: The explicit <em>halt state</em> reference, a member of <RT·math>Q</RT·math>.</li>
+      <p><RT·math>δ_0</RT·math>: The default transition table. A set of state transition pairs, each pair is of the form <RT·math>&lt;<em>r</em>.σ, q_1&gt<RT·math>. Where  <RT·math><em>r</em>.\sigma</RT·math> is a symbol found in the specified register, either <RT·math>d</RT·math> or <RT·math>g</RT·math>. <RT·math>q_1</RT·math> will be taken as the next state.</p>
 
-        <li><RT·math>q_e</RT·math>: The explicit <em>error state</em> reference, a member of <RT·math>Q</RT·math>.</li>
+      <p><RT·math>δ_00</RT·math>: A default next state.</p>
 
-        <li><RT·math>□</RT·math>: The <em>empty symbol</em>. This symbol is in <RT·math>\Gamma</RT·math> but not in <RT·math>\Sigma</RT·math>.</li>
-      </ul>
+      <h3>The TTCA Turing Machine in total</h3>
 
-      <p>
-        By separating the operational action <RT·math>\lambda</RT·math> from the transition evaluation <RT·math>\delta</RT·math>, the tuple accurately reflects a Moore machine organization. The action is securely bound to the state itself, exactly matching an architecture where each entry in the state dictionary executes one machine action before resolving the next state list.
-      </p>
+      <p><RT·math>
+        M = (Q, Σ, A, λ, δ, δ_0, δ_00)
+      </RT·math></p>
 
 
       <RT·chapter>The Turing Machine architecture/organization</RT·chapter>