Difference between revisions of "Directory:Jon Awbrey/Papers/Differential Analytic Turing Automata"
Jon Awbrey (talk | contribs) |
Jon Awbrey (talk | contribs) (update) |
||
(88 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:Differential Analytic Turing Automata}} | {{DISPLAYTITLE:Differential Analytic Turing Automata}} | ||
+ | '''Author: [[User:Jon Awbrey|Jon Awbrey]]''' | ||
− | + | The task ahead is to chart a course from general ideas about ''transformational equivalence classes of graphs'' to a notion of ''differential analytic turing automata'' (DATA). It may be a while before we get within sight of that goal, but it will provide a better measure of motivation to name the thread after the envisioned end rather than the more homely starting place. | |
− | + | The basic idea is as follows. One has a set <math>\mathcal{G}</math> of graphs and a set <math>\mathcal{T}</math> of transformation rules, and each rule <math>\mathrm{t} \in \mathcal{T}</math> has the effect of transforming graphs into graphs, <math>\mathrm{t} : \mathcal{G} \to \mathcal{G}.</math> In the cases that we shall be studying, this set of transformation rules partitions the set of graphs into ''transformational equivalence classes'' (TECs). | |
− | |||
− | The basic idea | ||
There are many interesting excursions to be had here, but I will focus mainly on logical applications, and and so the TECs I talk about will almost always have the character of ''logical equivalence classes'' (LECs). | There are many interesting excursions to be had here, but I will focus mainly on logical applications, and and so the TECs I talk about will almost always have the character of ''logical equivalence classes'' (LECs). | ||
− | An example that will figure heavily in the sequel is given by rooted trees as the species of graphs and a pair of equational transformation rules that derive from the graphical calculi of | + | An example that will figure heavily in the sequel is given by rooted trees as the species of graphs and a pair of equational transformation rules that derive from the graphical calculi of C.S. Peirce, as revived and extended by George Spencer Brown. |
Here are the fundamental transformation rules, also referred to as the ''arithmetic axioms'', more precisely, the ''arithmetic initials''. | Here are the fundamental transformation rules, also referred to as the ''arithmetic axioms'', more precisely, the ''arithmetic initials''. | ||
Line 21: | Line 20: | ||
That should be enough to get started. | That should be enough to get started. | ||
− | == | + | ==Cactus Language== |
I will be making use of the ''cactus language'' extension of Peirce's Alpha Graphs, so called because it uses a species of graphs that are usually called "cacti" in graph theory. The last exposition of the cactus syntax that I've written can be found here: | I will be making use of the ''cactus language'' extension of Peirce's Alpha Graphs, so called because it uses a species of graphs that are usually called "cacti" in graph theory. The last exposition of the cactus syntax that I've written can be found here: | ||
− | :* [ | + | :* [[Propositional Equation Reasoning Systems|Propositional Equation Reasoning Systems (PERS)]] |
The representational and computational efficiency of the cactus language for the tasks that are usually associated with boolean algebra and propositional calculus makes it possible to entertain a further extension, to what we may call ''differential logic'', because it develops this basic level of logic in the same way that differential calculus augments analytic geometry to handle change and diversity. There are several different introductions to differential logic that I have written and distributed across the Internet. You might start with the following couple of treatments: | The representational and computational efficiency of the cactus language for the tasks that are usually associated with boolean algebra and propositional calculus makes it possible to entertain a further extension, to what we may call ''differential logic'', because it develops this basic level of logic in the same way that differential calculus augments analytic geometry to handle change and diversity. There are several different introductions to differential logic that I have written and distributed across the Internet. You might start with the following couple of treatments: | ||
Line 32: | Line 31: | ||
:* [http://stderr.org/pipermail/inquiry/2004-February/thread.html#1160 Differential Logic B] | :* [http://stderr.org/pipermail/inquiry/2004-February/thread.html#1160 Differential Logic B] | ||
− | I | + | I will draw on those previously advertised resources of notation and theory as needed, but right now I sense the need for some concrete examples. |
− | |||
− | |||
− | + | ==Example 1== | |
− | Let's say we have a system that is known by the name of its state space <math>X\!</math> and we have a boolean state variable <math>x : X \to \mathbb{B},</math> where <math>\mathbb{B} = \{ 0, 1 \}.</math> | + | Let's say we have a system that is known by the name of its state space <math>X\!</math> and we have a boolean state variable <math>x : X \to \mathbb{B},\!</math> where <math>\mathbb{B} = \{ 0, 1 \}.\!</math> |
We observe <math>X\!</math> for a while, relative to a discrete time frame, and we write down the following sequence of values for <math>x.\!</math> | We observe <math>X\!</math> for a while, relative to a discrete time frame, and we write down the following sequence of values for <math>x.\!</math> | ||
Line 44: | Line 41: | ||
{| align="center" cellpadding="8" style="text-align:center" | {| align="center" cellpadding="8" style="text-align:center" | ||
| | | | ||
− | <math>\begin{array}{ | + | <math>\begin{array}{c|c} |
− | t & x \\ | + | t & x \\[8pt] |
− | |||
0 & 0 \\ | 0 & 0 \\ | ||
1 & 1 \\ | 1 & 1 \\ | ||
Line 60: | Line 56: | ||
|} | |} | ||
− | + | “Aha!” we say, and think we see the way of things, writing down the rule <math>x' = \texttt{(} x \texttt{)},\!</math> where <math>x'\!</math> is the next state after <math>x\!</math> and <math>\texttt{(} x \texttt{)}\!</math> is the negation of <math>x\!</math> in boolean logic. | |
Another way to detect patterns is to write out a table of finite differences. For this example, we would get: | Another way to detect patterns is to write out a table of finite differences. For this example, we would get: | ||
Line 66: | Line 62: | ||
{| align="center" cellpadding="8" style="text-align:center" | {| align="center" cellpadding="8" style="text-align:center" | ||
| | | | ||
− | <math>\begin{array}{ | + | <math>\begin{array}{c|cccc} |
− | t & | + | t & x & \mathrm{d}x & \mathrm{d}^2 x & \ldots \\[8pt] |
− | + | 0 & 0 & 1 & 0 & \ldots \\ | |
− | 0 & | + | 1 & 1 & 1 & 0 & \ldots \\ |
− | 1 & | + | 2 & 0 & 1 & 0 & \ldots \\ |
− | 2 & | + | 3 & 1 & 1 & 0 & \ldots \\ |
− | 3 & | + | 4 & 0 & 1 & 0 & \ldots \\ |
− | 4 & | + | 5 & 1 & 1 & 0 & \ldots \\ |
− | 5 & | + | 6 & 0 & 1 & 0 & \ldots \\ |
− | 6 & | + | 7 & 1 & 1 & 0 & \ldots \\ |
− | 7 & | + | 8 & 0 & 1 & \ldots & \ldots \\ |
− | 8 & | + | 9 & \ldots & \ldots & \ldots & \ldots |
− | 9 & \ldots & \ldots & \ldots & | ||
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
Line 84: | Line 79: | ||
And of course, all the higher order differences are zero. | And of course, all the higher order differences are zero. | ||
− | This leads to thinking of <math>X\!</math> as having an extended state <math>(x, | + | This leads to thinking of <math>X\!</math> as having an extended state <math>(x, \mathrm{d}x, \mathrm{d}^2 x, \ldots, \mathrm{d}^k x),\!</math> and this additional language gives us the facility of describing state transitions in terms of the various orders of differences. For example, the rule <math>x' = \texttt{(} x \texttt{)}\!</math> can now be expressed by the rule <math>{\mathrm{d}x = 1}.\!</math> |
− | |||
− | |||
− | + | There is a more detailed account of differential logic in the following paper: | |
− | + | :* [[Differential Logic and Dynamic Systems 2.0|Differential Logic and Dynamic Systems]] | |
− | : | + | For future reference, here are a couple of handy rosetta stones for translating back and forth between different notations for the boolean functions <math>f : \mathbb{B}^k \to \mathbb{B},\!</math> where <math>k = 1, 2.\!</math> |
− | + | :* [[Differential Logic and Dynamic Systems 2.0#Tables of Propositional Forms|Tables of Propositional Forms]] | |
− | + | ==Example 2== | |
− | + | For a slightly more interesting example, let's suppose that we have a dynamic system that is known by its state space <math>X\!</math> and we have a boolean state variable <math>x : X \to \mathbb{B}.\!</math> In addition, we are given an initial condition <math>x = \mathrm{d}x\!</math> and a law <math>{\mathrm{d}^2 x = \texttt{(} x \texttt{)}}.\!</math> | |
− | |||
− | For a slightly more interesting example, let's suppose that we have a dynamic system that is known by its state space <math>X | ||
The initial condition has two cases: | The initial condition has two cases: | ||
Line 107: | Line 98: | ||
| | | | ||
<math>\begin{array}{ll} | <math>\begin{array}{ll} | ||
− | 1. & | + | 1. & x ~=~ \mathrm{d}x ~=~ 0 |
\\ | \\ | ||
− | 2. & | + | 2. & x ~=~ \mathrm{d}x ~=~ 1 |
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
− | Here is a table of the two trajectories or ''orbits'' that we get by starting from each of the two permissible initial states and staying within the constraints of the dynamic law <math> | + | Here is a table of the two trajectories or ''orbits'' that we get by starting from each of the two permissible initial states and staying within the constraints of the dynamic law <math>{\mathrm{d}^2 x = \texttt{(} x \texttt{)}}.\!</math> |
{| align="center" cellpadding="8" style="text-align:center" | {| align="center" cellpadding="8" style="text-align:center" | ||
− | | <math>\text{Initial State}\ x \ | + | | <math>\text{Initial State}~ x \cdot \mathrm{d}x\!</math> |
|- | |- | ||
| | | | ||
− | <math>\begin{array}{ | + | <math>\begin{array}{c|ccc} |
− | t & | + | t & \mathrm{d}^0 x & \mathrm{d}^1 x & \mathrm{d}^2 x \\[8pt] |
− | + | 0 & 1 & 1 & 0 \\ | |
− | 0 & | + | 1 & 0 & 1 & 1 \\ |
− | 1 & | + | 2 & 1 & 0 & 0 \\ |
− | 2 & | + | 3 & 1 & 0 & 0 \\ |
− | 3 & | + | 4 & 1 & 0 & 0 \\ |
− | 4 & | + | 5 & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel |
− | 5 & | ||
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
Line 134: | Line 124: | ||
{| align="center" cellpadding="8" style="text-align:center" | {| align="center" cellpadding="8" style="text-align:center" | ||
− | | <math>\text{Initial State}\ (x) \cdot ( | + | | <math>\text{Initial State}~ \texttt{(} x \texttt{)} \cdot \texttt{(} \mathrm{d}x \texttt{)}\!</math> |
|- | |- | ||
| | | | ||
− | <math>\begin{array}{ | + | <math>\begin{array}{c|ccc} |
− | t & | + | t & \mathrm{d}^0 x & \mathrm{d}^1 x & \mathrm{d}^2 x \\[8pt] |
− | + | 0 & 0 & 0 & 1 \\ | |
− | 0 & | + | 1 & 0 & 1 & 1 \\ |
− | 1 & | + | 2 & 1 & 0 & 0 \\ |
− | 2 & | + | 3 & 1 & 0 & 0 \\ |
− | 3 & | + | 4 & 1 & 0 & 0 \\ |
− | 4 & | + | 5 & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel |
− | 5 & | ||
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
− | Note that the state <math>\ | + | Note that the state <math>x \texttt{(} \mathrm{d}x \texttt{)(} \mathrm{d}^2 x \texttt{)},\!</math> that is, <math>(x, \mathrm{d}x, \mathrm{d}^2 x) = (1, 0, 0),\!</math> is a stable attractor for both orbits. |
Further discussion of this example, complete with charts and graphs, can be found at this location: | Further discussion of this example, complete with charts and graphs, can be found at this location: | ||
− | :* [[ | + | :* [[Differential Logic and Dynamic Systems 2.0#Example 1. A Square Rigging|Example 1. A Square Rigging]] |
− | == | + | ==Example 3== |
− | One more example may serve to suggest just how much dynamic complexity can be built on a universe of discourse that has but a single logical feature at its base. | + | One more example may serve to suggest just how much dynamic complexity can be built on a universe of discourse that has but a single logical feature at its base. But first, there are a few more elements of general notation that that we'll need to describe finite dimensional universes of discourse and the qualitative dynamics that we envision occurring in them. |
− | + | Let <math>\mathcal{X} = \{ x_1, \ldots, x_n \}\!</math> be the ''alphabet'' of logical ''features'' or ''variables'' that are used to describe the <math>n\!</math>-dimensional universe of discourse <math>X^\bullet = [\mathcal{X}]\!</math> <math>= [x_1, \ldots, x_n].\!</math> One may picture a venn diagram whose <math>n\!</math> overlapping “circles” are labeled with the feature names in <math>\mathcal{X}.\!</math> Staying with this picture, one visualizes the universe of discourse <math>X^\bullet = [\mathcal{X}]\!</math> as having two layers: | |
− | + | # The set <math>X = \langle \mathcal{X} \rangle = \langle x_1, \dots, x_n \rangle\!</math> of ''points'' or ''cells'' — the latter used in another sense of the word than when we speak of ''cellular automata''. | |
+ | # The set <math>X^\uparrow = (X \to \mathbb{B})\!</math> of ''propositions'', boolean-valued functions, or maps from <math>X\!</math> to <math>\mathbb{B}.\!</math> | ||
− | Thus | + | Thus we picture the universe of discourse <math>{X^\bullet}\!</math> as an ordered pair <math>{X^\bullet = (X, X^\uparrow)}\!</math> having <math>2^n\!</math> points in the underlying space <math>X\!</math> and <math>2^{2^n}\!</math> propositions in the function space <math>X^\uparrow.\!</math> |
A more complete discussion of these notations can be found here: | A more complete discussion of these notations can be found here: | ||
− | :* [[ | + | :* [[Differential Logic and Dynamic Systems 2.0#A Functional Conception of Propositional Calculus|A Functional Conception of Propositional Calculus]] |
Now, to the Example. | Now, to the Example. | ||
− | Once again, let us begin with a 1-feature alphabet <math>\mathcal{X} = \{ x_1 \} = \{ x \}.</math> In the discussion that follows I will consider a class of trajectories that are ruled by the constraint that <math>d^k x = 0\!</math> for all <math>k\!</math> greater than some fixed <math>m | + | Once again, let us begin with a 1-feature alphabet <math>\mathcal{X} = \{ x_1 \} = \{ x \}.\!</math> In the discussion that follows I will consider a class of trajectories that are ruled by the constraint that <math>\mathrm{d}^k x = 0\!</math> for all <math>k\!</math> greater than some fixed <math>m\!</math> and I will indulge in the use of some picturesque language to describe salient classes of such curves. Given the finite order condition, there is a highest order non-zero difference <math>\mathrm{d}^m x\!</math> that is exhibited at each point in the course of any determinate trajectory. Relative to any point of the corresponding orbit or curve, let us call this highest order differential feature <math>\mathrm{d}^m x\!</math> the ''drive'' at that point. Curves of constant drive <math>\mathrm{d}^m x\!</math> are then referred to as ''<math>m^\text{th}\!</math> gear curves''. |
− | |||
− | |||
− | + | One additional piece of notation will be needed here. Starting from the base alphabet <math>\mathcal{X} = \{ x \},\!</math> we define and notate <math>\mathrm{E}^j \mathcal{X} = \{ x, \mathrm{d}^1 x, \mathrm{d}^2 x, \ldots, \mathrm{d}^j x \}\!</math> as the ''<math>j^\text{th}\!</math> order extended alphabet over <math>\mathcal{X}.\!</math>'' | |
− | + | Let us now consider the family of 4<sup>th</sup> gear curves through the extended space <math>\mathrm{E}^4 X = \langle x, \mathrm{d}x, \mathrm{d}^2 x, \mathrm{d}^3 x, \mathrm{d}^4 x \rangle.\!</math> These are the trajectories that are generated subject to the law <math>\mathrm{d}^4 x = 1,\!</math> where it is understood in making such a statement that all higher order differences are equal to <math>0.\!</math> | |
− | + | Since <math>\mathrm{d}^4 x\!</math> and all higher order <math>\mathrm{d}^j x\!</math> are fixed, the entire dynamics can be plotted in the extended space <math>\mathrm{E}^3 X = \langle x, \mathrm{d}x, \mathrm{d}^2 x, \mathrm{d}^3 x \rangle.\!</math> Thus, there is just enough room in a planar venn diagram to plot both orbits and to show how they partition the points of <math>\mathrm{E}^3 X.\!</math> As it turns out, there are exactly two possible orbits, of eight points each, as illustrated in Figures 16-a and 16-b. See here: | |
− | + | :* [[Differential Logic and Dynamic Systems 2.0#Example 2. Drives and Their Vicissitudes|Example 2. Drives and Their Vicissitudes]] | |
− | Here are the < | + | Here are the 4<sup>th</sup> gear curves over the 1-feature universe <math>X = \langle x \rangle\!</math> arranged in the form of tabular arrays, listing the extended state vectors <math>(x, \mathrm{d}x, \mathrm{d}^2 x, \mathrm{d}^3 x, \mathrm{d}^4 x)\!</math> as they occur in one cyclic period of each orbit. |
{| align="center" cellpadding="8" style="text-align:center" | {| align="center" cellpadding="8" style="text-align:center" | ||
Line 190: | Line 178: | ||
| | | | ||
<math>\begin{array}{c|ccccc} | <math>\begin{array}{c|ccccc} | ||
− | t & d^0 x & d^1 x & d^2 x & d^3 x & d^4 \\ | + | t & \mathrm{d}^0 x & \mathrm{d}^1 x & \mathrm{d}^2 x & \mathrm{d}^3 x & \mathrm{d}^4 x \\ |
\\ | \\ | ||
− | 0 & | + | 0 & 0 & 0 & 0 & 0 & 1 \\ |
− | 1 & | + | 1 & 0 & 0 & 0 & 1 & 1 \\ |
− | 2 & | + | 2 & 0 & 0 & 1 & 0 & 1 \\ |
− | 3 & | + | 3 & 0 & 1 & 1 & 1 & 1 \\ |
− | 4 & | + | 4 & 1 & 0 & 0 & 0 & 1 \\ |
− | 5 & | + | 5 & 1 & 0 & 0 & 1 & 1 \\ |
− | 6 & | + | 6 & 1 & 0 & 1 & 0 & 1 \\ |
− | 7 & | + | 7 & 1 & 1 & 1 & 1 & 1 |
− | \end{array}</math | + | \end{array}</math> |
|} | |} | ||
Line 210: | Line 198: | ||
| | | | ||
<math>\begin{array}{c|ccccc} | <math>\begin{array}{c|ccccc} | ||
− | t & d^0 x & d^1 x & d^2 x & d^3 x & d^4 \\ | + | t & \mathrm{d}^0 x & \mathrm{d}^1 x & \mathrm{d}^2 x & \mathrm{d}^3 x & \mathrm{d}^4 x \\ |
\\ | \\ | ||
− | 0 & | + | 0 & 1 & 1 & 0 & 0 & 1 \\ |
− | 1 & | + | 1 & 0 & 1 & 0 & 1 & 1 \\ |
− | 2 & | + | 2 & 1 & 1 & 1 & 0 & 1 \\ |
− | 3 & | + | 3 & 0 & 0 & 1 & 1 & 1 \\ |
− | 4 & | + | 4 & 0 & 1 & 0 & 0 & 1 \\ |
− | 5 & | + | 5 & 1 & 1 & 0 & 1 & 1 \\ |
− | 6 & | + | 6 & 0 & 1 & 1 & 0 & 1 \\ |
− | 7 & | + | 7 & 1 & 0 & 1 & 1 & 1 |
− | \end{array}</math | + | \end{array}</math> |
|} | |} | ||
− | In this arrangement, the temporal ordering of states can be reckoned by a kind of ''parallel round-up rule''. Specifically, if <math>(a_k, a_{k+1})\!</math> is any pair of adjacent digits in a state vector <math>(a_0, a_1, \ldots, a_n),\!</math> then the value of <math>a_k\!</math> in the next state is <math>a_k | + | In this arrangement, the temporal ordering of states can be reckoned by a kind of ''parallel round-up rule''. Specifically, if <math>(a_k, a_{k+1})\!</math> is any pair of adjacent digits in a state vector <math>{(a_0, a_1, \ldots, a_n)},\!</math> then the value of <math>a_k\!</math> in the next state is <math>a_k' = a_k + a_{k+1},\!</math> the addition being taken mod 2, of course. |
A more complete discussion of this arrangement is given here: | A more complete discussion of this arrangement is given here: | ||
− | :* [[ | + | :* [[Differential Logic and Dynamic Systems 2.0#Example 2. Drives and Their Vicissitudes|Example 2. Drives and Their Vicissitudes]] |
− | == | + | ==Example 4== |
I am going to tip-toe in silence/consilience past many questions of a philosophical nature/nurture that might be asked at this juncture, no doubt to revisit them at some future opportunity/importunity, however the cases happen to align in the course of their inevitable fall. | I am going to tip-toe in silence/consilience past many questions of a philosophical nature/nurture that might be asked at this juncture, no doubt to revisit them at some future opportunity/importunity, however the cases happen to align in the course of their inevitable fall. | ||
− | Instead, let's | + | Instead, let's follow the adage to “keep it concrete and simple”, taking up the consideration of an incrementally more complex example, but having a slightly more general character than the orders of sequential transformations that we've been discussing up to this point. |
The types of logical transformations that I have in mind can be thought of as ''transformations of discourse'' because they map a universe of discourse into a universe of discourse by way of logical equations between the qualitative features or logical variables in the source and target universes. | The types of logical transformations that I have in mind can be thought of as ''transformations of discourse'' because they map a universe of discourse into a universe of discourse by way of logical equations between the qualitative features or logical variables in the source and target universes. | ||
Line 241: | Line 229: | ||
Onward and upward to Flatland, the differential analysis of transformations between 2-dimensional universes of discourse. | Onward and upward to Flatland, the differential analysis of transformations between 2-dimensional universes of discourse. | ||
− | Consider the transformation from the universe <math>U^\ | + | Consider the transformation from the universe <math>U^\bullet = [u, v]</math> to the universe <math>X^\bullet = [x, y]</math> that is defined by this system of equations: |
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
| | | | ||
− | <math>\begin{ | + | <math>\begin{matrix} |
− | x & = & f(u, v) & = & \texttt{((u)(v))} | + | x & = & f(u, v) & = & \texttt{((} u \texttt{)(} v \texttt{))} |
− | \\ | + | \\[8pt] |
− | y & = & g(u, v) & = & \texttt{((u,~v))} | + | y & = & g(u, v) & = & \texttt{((} u \texttt{,~} v \texttt{))} |
− | \end{ | + | \end{matrix}</math> |
|} | |} | ||
− | The | + | The parenthetical expressions on the right are the cactus forms for the boolean functions that correspond to inclusive disjunction and logical equivalence, respectively. Table 1 summarizes the basic elements of the cactus notation for propositional logic. |
<br> | <br> | ||
− | {| align="center" border="1" cellpadding="8" cellspacing="0" style="text-align:center; width: | + | {| align="center" border="1" cellpadding="8" cellspacing="0" style="text-align:center; width:75%" |
− | |+ <math>\text{Table 1. | + | |+ style="height:30px" | <math>\text{Table 1.} ~~ \text{Syntax and Semantics of a Calculus for Propositional Logic}\!</math> |
− | |- style="background: | + | |- style="height:40px; background:ghostwhite" |
− | | <math>\text{Expression}\!</math> | + | | <math>\text{Graph}\!</math> |
+ | | <math>\text{Expression}~\!</math> | ||
| <math>\text{Interpretation}\!</math> | | <math>\text{Interpretation}\!</math> | ||
| <math>\text{Other Notations}\!</math> | | <math>\text{Other Notations}\!</math> | ||
|- | |- | ||
− | | <math> | + | | height="100px" | [[Image:Cactus Node Big Fat.jpg|20px]] |
− | | <math>\operatorname{ | + | | <math>~</math> |
+ | | <math>\operatorname{true}</math> | ||
| <math>1\!</math> | | <math>1\!</math> | ||
|- | |- | ||
+ | | height="100px" | [[Image:Cactus Spike Big Fat.jpg|20px]] | ||
| <math>\texttt{(~)}</math> | | <math>\texttt{(~)}</math> | ||
− | | <math>\operatorname{ | + | | <math>\operatorname{false}</math> |
| <math>0\!</math> | | <math>0\!</math> | ||
|- | |- | ||
− | | <math>\ | + | | height="100px" | [[Image:Cactus A Big.jpg|20px]] |
− | | <math> | + | | <math>a\!</math> |
− | | <math> | + | | <math>a\!</math> |
+ | | <math>a\!</math> | ||
|- | |- | ||
− | | <math>\texttt{( | + | | height="120px" | [[Image:Cactus (A) Big.jpg|20px]] |
− | | <math>\operatorname{ | + | | <math>\texttt{(} a \texttt{)}~</math> |
− | | | + | | <math>\operatorname{not}~ a</math> |
− | <math>\ | + | | <math>\lnot a \quad \bar{a} \quad \tilde{a} \quad a^\prime</math> |
− | |||
− | \tilde{ | ||
− | |||
− | |||
|- | |- | ||
− | | <math> | + | | height="100px" | [[Image:Cactus ABC Big.jpg|50px]] |
− | | <math> | + | | <math>a ~ b ~ c</math> |
− | | <math> | + | | <math>a ~\operatorname{and}~ b ~\operatorname{and}~ c</math> |
+ | | <math>a \land b \land c</math> | ||
|- | |- | ||
− | | <math>\texttt{(( | + | | height="160px" | [[Image:Cactus ((A)(B)(C)) Big.jpg|65px]] |
− | | <math> | + | | <math>\texttt{((} a \texttt{)(} b \texttt{)(} c \texttt{))}</math> |
− | | <math> | + | | <math>a ~\operatorname{or}~ b ~\operatorname{or}~ c</math> |
+ | | <math>a \lor b \lor c</math> | ||
|- | |- | ||
− | | <math>\texttt{( | + | | height="120px" | [[Image:Cactus (A(B)) Big.jpg|60px]] |
+ | | <math>\texttt{(} a \texttt{(} b \texttt{))}</math> | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | + | a ~\operatorname{implies}~ b | |
− | \operatorname{ | + | \\[6pt] |
+ | \operatorname{if}~ a ~\operatorname{then}~ b | ||
\end{matrix}</math> | \end{matrix}</math> | ||
− | | <math> | + | | <math>a \Rightarrow b</math> |
|- | |- | ||
− | | <math>\texttt{( | + | | height="120px" | [[Image:Cactus (A,B) Big ISW.jpg|65px]] |
+ | | <math>\texttt{(} a \texttt{,} b \texttt{)}</math> | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | + | a ~\operatorname{not~equal~to}~ b | |
− | + | \\[6pt] | |
+ | a ~\operatorname{exclusive~or}~ b | ||
\end{matrix}</math> | \end{matrix}</math> | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | + | a \neq b | |
− | + | \\[6pt] | |
+ | a + b | ||
\end{matrix}</math> | \end{matrix}</math> | ||
|- | |- | ||
− | | <math>\texttt{(( | + | | height="160px" | [[Image:Cactus ((A,B)) Big.jpg|65px]] |
+ | | <math>\texttt{((} a \texttt{,} b \texttt{))}</math> | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | + | a ~\operatorname{is~equal~to}~ b | |
− | + | \\[6pt] | |
+ | a ~\operatorname{if~and~only~if}~ b | ||
\end{matrix}</math> | \end{matrix}</math> | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | + | a = b | |
− | + | \\[6pt] | |
+ | a \Leftrightarrow b | ||
\end{matrix}</math> | \end{matrix}</math> | ||
|- | |- | ||
− | | <math>\texttt{( | + | | height="120px" | [[Image:Cactus (A,B,C) Big.jpg|65px]] |
+ | | <math>\texttt{(} a \texttt{,} b \texttt{,} c \texttt{)}</math> | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | \operatorname{ | + | \operatorname{just~one~of} |
− | + | \\ | |
− | \operatorname{is~false}. | + | a, b, c |
+ | \\ | ||
+ | \operatorname{is~false}. | ||
\end{matrix}</math> | \end{matrix}</math> | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | + | & \bar{a} ~ b ~ c | |
− | + | \\ | |
− | + | \lor & a ~ \bar{b} ~ c | |
+ | \\ | ||
+ | \lor & a ~ b ~ \bar{c} | ||
\end{matrix}</math> | \end{matrix}</math> | ||
|- | |- | ||
− | | <math>\texttt{(( | + | | height="160px" | [[Image:Cactus ((A),(B),(C)) Big.jpg|65px]] |
+ | | <math>\texttt{((} a \texttt{),(} b \texttt{),(} c \texttt{))}</math> | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | \operatorname{ | + | \operatorname{just~one~of} |
− | + | \\ | |
− | \operatorname{is~true}. | + | a, b, c |
− | + | \\ | |
− | \operatorname{ | + | \operatorname{is~true}. |
− | \operatorname{into} | + | \\[6pt] |
+ | \operatorname{partition~all} | ||
+ | \\ | ||
+ | \operatorname{into}~ a, b, c. | ||
\end{matrix}</math> | \end{matrix}</math> | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | + | & a ~ \bar{b} ~ \bar{c} | |
− | + | \\ | |
− | + | \lor & \bar{a} ~ b ~ \bar{c} | |
+ | \\ | ||
+ | \lor & \bar{a} ~ \bar{b} ~ c | ||
\end{matrix}</math> | \end{matrix}</math> | ||
|- | |- | ||
+ | | height="160px" | [[Image:Cactus (A,(B,C)) Big.jpg|90px]] | ||
+ | | <math>\texttt{(} a \texttt{,(} b \texttt{,} c \texttt{))}</math> | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | + | \operatorname{oddly~many~of} | |
− | + | \\ | |
− | + | a, b, c | |
− | + | \\ | |
− | + | \operatorname{are~true}. | |
− | |||
− | \operatorname{ | ||
− | |||
− | \operatorname{are~true}. | ||
\end{matrix}</math> | \end{matrix}</math> | ||
| | | | ||
− | <p><math> | + | <p><math>a + b + c\!</math></p> |
<br> | <br> | ||
<p><math>\begin{matrix} | <p><math>\begin{matrix} | ||
− | + | & a ~ b ~ c | |
− | + | \\ | |
− | + | \lor & a ~ \bar{b} ~ \bar{c} | |
− | + | \\ | |
+ | \lor & \bar{a} ~ b ~ \bar{c} | ||
+ | \\ | ||
+ | \lor & \bar{a} ~ \bar{b} ~ c | ||
\end{matrix}</math></p> | \end{matrix}</math></p> | ||
|- | |- | ||
− | | <math>\texttt{( | + | | height="160px" | [[Image:Cactus (X,(A),(B),(C)) Big.jpg|90px]] |
+ | | <math>\texttt{(} x \texttt{,(} a \texttt{),(} b \texttt{),(} c \texttt{))}</math> | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | \operatorname{ | + | \operatorname{partition}~ x |
− | \operatorname{into} | + | \\ |
− | + | \operatorname{into}~ a, b, c. | |
− | \operatorname{ | + | \\[6pt] |
− | \operatorname{species} | + | \operatorname{genus}~ x ~\operatorname{comprises} |
+ | \\ | ||
+ | \operatorname{species}~ a, b, c. | ||
\end{matrix}</math> | \end{matrix}</math> | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | + | & \bar{x} ~ \bar{a} ~ \bar{b} ~ \bar{c} | |
− | + | \\ | |
− | + | \lor & x ~ a ~ \bar{b} ~ \bar{c} | |
− | + | \\ | |
+ | \lor & x ~ \bar{a} ~ b ~ \bar{c} | ||
+ | \\ | ||
+ | \lor & x ~ \bar{a} ~ \bar{b} ~ c | ||
\end{matrix}</math> | \end{matrix}</math> | ||
|} | |} | ||
Line 397: | Line 413: | ||
<br> | <br> | ||
− | The component notation <math>F = (F_1, F_2) = (f, g) : U^\ | + | The component notation <math>F = (F_1, F_2) = (f, g) : U^\bullet \to X^\bullet\!</math> allows us to give a name and a type to this transformation, and permits us to define it by means of the compact description that follows: |
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
| | | | ||
− | <math>\begin{ | + | <math>\begin{matrix} |
− | (x, y) & = & F(u, v) & = & ( ~\texttt{((u)(v))}~ , ~\texttt{((u,~v))}~ ). | + | (x, y) & = & F(u, v) & = & ( ~ \texttt{((} u \texttt{)(} v \texttt{))} ~,~ \texttt{((} u \texttt{,~} v \texttt{))} ~ ). |
− | \end{ | + | \end{matrix}</math> |
|} | |} | ||
− | The information that defines the logical transformation <math>F\!</math> can be represented in the form of a truth table, as below. | + | The information that defines the logical transformation <math>F\!</math> can be represented in the form of a truth table, as shown below. |
<br> | <br> | ||
− | {| align="center" cellpadding="8" cellspacing="0" style="border- | + | {| align="center" cellpadding="8" cellspacing="0" style="border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; text-align:center; width:60%" |
+ | |- style="height:40px; background:ghostwhite; width:100%" | ||
+ | | style="width:25%" | <math>u\!</math> | ||
+ | | style="width:25%" | <math>v\!</math> | ||
+ | | style="width:25%; border-left:1px solid black" | <math>f\!</math> | ||
+ | | style="width:25%" | <math>g\!</math> | ||
|- | |- | ||
− | | style="border- | + | | style="border-top:1px solid black" | |
− | | style="border- | + | <math>\begin{matrix} |
− | | style="border- | + | 0 |
− | + | \\[4pt] | |
− | + | 0 | |
− | + | \\[4pt] | |
− | + | 1 | |
− | | style="border- | + | \\[4pt] |
− | + | 1 | |
− | + | \end{matrix}</math> | |
− | + | | style="border-top:1px solid black" | | |
− | + | <math>\begin{matrix} | |
− | | style="border- | + | 0 |
− | + | \\[4pt] | |
− | |- | + | 1 |
− | | <math> | + | \\[4pt] |
− | + | 0 | |
− | | style="border-left:1px solid black" | <math> | + | \\[4pt] |
− | + | 1 | |
− | + | \end{matrix}</math> | |
− | + | | style="border-top:1px solid black; border-left:1px solid black" | | |
− | + | <math>\begin{matrix} | |
− | | style="border- | + | 0 |
− | + | \\[4pt] | |
+ | 1 | ||
+ | \\[4pt] | ||
+ | 1 | ||
+ | \\[4pt] | ||
+ | 1 | ||
+ | \end{matrix}</math> | ||
+ | | style="border-top:1px solid black" | | ||
+ | <math>\begin{matrix} | ||
+ | 1 | ||
+ | \\[4pt] | ||
+ | 0 | ||
+ | \\[4pt] | ||
+ | 0 | ||
+ | \\[4pt] | ||
+ | 1 | ||
+ | \end{matrix}</math> | ||
+ | |- style="height:40px; background:ghostwhite" | ||
+ | | style="border-top:1px solid black" | <math>u\!</math> | ||
+ | | style="border-top:1px solid black" | <math>v\!</math> | ||
+ | | style="border-top:1px solid black; border-left:1px solid black" | | ||
+ | <math>\texttt{((} u \texttt{)(} v \texttt{))}\!</math> | ||
+ | | style="border-top:1px solid black" | | ||
+ | <math>\texttt{((} u \texttt{,} v \texttt{))}\!</math> | ||
|} | |} | ||
Line 442: | Line 486: | ||
A more complete framework of discussion and a fuller development of this example can be found in the neighborhood of the following site: | A more complete framework of discussion and a fuller development of this example can be found in the neighborhood of the following site: | ||
− | :* [[ | + | :* [[Differential Logic and Dynamic Systems 2.0#Transformations of Type B2 .E2.86.92 B2|Transformations of Type '''B'''<sup>2</sup> → '''B'''<sup>2</sup>]] |
− | + | Consider the ''transformation of textual elements'' (TOTE) in progress: | |
− | |||
− | Consider the | ||
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
| | | | ||
− | <math>\begin{ | + | <math>\begin{matrix} |
− | x | + | x |
− | \\ | + | & = & f(u, v) |
− | y | + | & = & \texttt{((} u \texttt{)(} v \texttt{))} |
− | \\ | + | \\[8pt] |
− | (x, y) & = & F(u, v) & = & ( ~\texttt{((u)(v))}~ , ~\texttt{((u,~v))}~ ) | + | y |
− | \end{ | + | & = & g(u, v) |
+ | & = & \texttt{((} u \texttt{,~} v \texttt{))} | ||
+ | \\[8pt] | ||
+ | (x, y) | ||
+ | & = & F(u, v) | ||
+ | & = & ( ~ \texttt{((} u \texttt{)(} v \texttt{))} ~,~ \texttt{((} u \texttt{,~} v \texttt{))} ~ ) | ||
+ | \end{matrix}</math> | ||
|} | |} | ||
− | Taken as a transformation from the universe <math>U^\ | + | Taken as a transformation from the universe <math>U^\bullet = [u, v]\!</math> to the universe <math>X^\bullet = [x, y],\!</math> this is a particular type of formal object, and it can be studied at that level of abstraction until the chickens come home to roost, as they say, but when the time comes to count those chickens, if you will, the terms of artifice that we use to talk about abstract objects, almost as if we actually knew what we were talking about, need to be fully fledged or fleshed out with extra ''bits of interpretive data'' (BOIDs). |
And so, to decompress the story, the TOTE that we use to convey the FOMA has to be interpreted before it can be applied to anything that actually puts supper on the table, so to speak. | And so, to decompress the story, the TOTE that we use to convey the FOMA has to be interpreted before it can be applied to anything that actually puts supper on the table, so to speak. | ||
Line 469: | Line 517: | ||
When we consider a transformation in the alias interpretation, we are merely changing the terms that we use to describe what may very well be, to some approximation, the very same things. | When we consider a transformation in the alias interpretation, we are merely changing the terms that we use to describe what may very well be, to some approximation, the very same things. | ||
− | For example, in some applications the discursive universes <math>U^\ | + | For example, in some applications the discursive universes <math>U^\bullet = [u, v]\!</math> and <math>X^\bullet = [x, y]\!</math> are best understood as diverse frames, instruments, reticules, scopes, or templates, that we adopt for the sake of viewing from variant perspectives what we conceive to be roughly the same underlying objects. |
When we consider a transformation in the alibi interpretation, we are thinking of the objective things as objectively moving around in space or changing their qualitative characteristics. There are times when we think of this alibi transformation as taking place in a dimension of time, and then there are times when time is not an object. | When we consider a transformation in the alibi interpretation, we are thinking of the objective things as objectively moving around in space or changing their qualitative characteristics. There are times when we think of this alibi transformation as taking place in a dimension of time, and then there are times when time is not an object. | ||
− | For example, in some applications the discursive universes <math>U^\ | + | For example, in some applications the discursive universes <math>U^\bullet = [u, v]\!</math> and <math>X^\bullet = [x, y]\!</math> are actually the same universe, and what we have is a frame where <math>x\!</math> is the next state of <math>u\!</math> and <math>y\!</math> is the next state of <math>v,\!</math> notated as <math>x = u'\!</math> and <math>y = v'.\!</math> This permits us to rewrite the transformation <math>F\!</math> as follows: |
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
| | | | ||
− | <math>\begin{ | + | <math>\begin{matrix} |
− | u' | + | u' |
− | \\ | + | & = & f(u, v) |
− | v' | + | & = & \texttt{((} u \texttt{)(} v \texttt{))} |
− | \\ | + | \\[8pt] |
− | (u', v') & = & F(u, v) & = & ( ~\texttt{((u)(v))}~ , ~\texttt{((u,~v))}~ ) | + | v' |
− | \end{ | + | & = & g(u, v) |
+ | & = & \texttt{((} u \texttt{,~} v \texttt{))} | ||
+ | \\[8pt] | ||
+ | (u', v') | ||
+ | & = & F(u, v) | ||
+ | & = & ( ~ \texttt{((} u \texttt{)(} v \texttt{))} ~,~ \texttt{((} u \texttt{,~} v \texttt{))} ~ ) | ||
+ | \end{matrix}</math> | ||
|} | |} | ||
− | All in all, then, we have three different ways in general of applying or interpreting a transformation of discourse, that we might sum up as one brand of alias and two brands | + | All in all, then, we have three different ways in general of applying or interpreting a transformation of discourse, that we might sum up as one brand of alias and two brands of alibi, all together, the ''Elseword'', the ''Elsewhere'', and the ''Elsewhen''. |
− | of alibi, all together, the ''Elseword'', the ''Elsewhere'', and the ''Elsewhen''. | ||
No more angels on pinheads, the brass tacks next time. | No more angels on pinheads, the brass tacks next time. | ||
− | == | + | ==Differential Analysis== |
It is time to formulate the differential analysis of a logical transformation, or a ''mapping of discourse''. It is wise to begin with the first order differentials. | It is time to formulate the differential analysis of a logical transformation, or a ''mapping of discourse''. It is wise to begin with the first order differentials. | ||
− | We are considering an abstract logical transformation <math>F = (f, g) : [u, v] \to [x, y]</math> that can be interpreted in a number of different ways. Let's fix on a couple of major variants that might be indicated as follows: | + | We are considering an abstract logical transformation <math>F = (f, g) : [u, v] \to [x, y]\!</math> that can be interpreted in a number of different ways. Let's fix on a couple of major variants that might be indicated as follows: |
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
| | | | ||
<math>\begin{array}{lccccc} | <math>\begin{array}{lccccc} | ||
− | \text{Alias Map | + | \text{Alias Map} |
− | \\ | + | & (x, y) |
− | \text{Alibi Map | + | & = & F(u, v) |
+ | & = & ( ~ \texttt{((} u \texttt{)(} v \texttt{))} ~,~ \texttt{((} u \texttt{,~} v \texttt{))} ~ ) | ||
+ | \\[8pt] | ||
+ | \text{Alibi Map} | ||
+ | & (u', v') | ||
+ | & = & F(u, v) | ||
+ | & = & ( ~ \texttt{((} u \texttt{)(} v \texttt{))} ~,~ \texttt{((} u \texttt{,~} v \texttt{))} ~ ) | ||
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
Line 508: | Line 567: | ||
<math>F\!</math> is just one example among — well, now that I think of it — how many other logical transformations from the same source to the same target universe? In the light of that question, maybe it would be advisable to contemplate the character of <math>F\!</math> within the fold of its most closely akin transformations. | <math>F\!</math> is just one example among — well, now that I think of it — how many other logical transformations from the same source to the same target universe? In the light of that question, maybe it would be advisable to contemplate the character of <math>F\!</math> within the fold of its most closely akin transformations. | ||
− | Given the alphabets <math>\mathcal{U} = \{ u, v \}</math> and <math>\mathcal{X} = \{ x, y \} | + | Given the alphabets <math>\mathcal{U} = \{ u, v \}\!</math> and <math>\mathcal{X} = \{ x, y \}\!</math> along with the corresponding universes of discourse <math>U^\bullet\!</math> and <math>X^\bullet = [\mathbb{B}^2],\!</math> how many logical transformations of the general form <math>G = (G_1, G_2) : U^\bullet \to X^\bullet\!</math> are there? |
− | Since <math>G_1\!</math> and <math>G_2\!</math> can be any propositions of the type <math>\mathbb{B}^2 \to \mathbb{B},</math> there are <math>2^4 = 16\!</math> choices for each of the maps <math>G_1\!</math> and <math>G_2,\!</math> and thus there are <math>2^4 \cdot 2^4 = 2^8 = 256\!</math> different mappings altogether of the form <math>G : U^\ | + | Since <math>G_1\!</math> and <math>G_2\!</math> can be any propositions of the type <math>\mathbb{B}^2 \to \mathbb{B},\!</math> there are <math>2^4 = 16\!</math> choices for each of the maps <math>G_1\!</math> and <math>G_2,\!</math> and thus there are <math>2^4 \cdot 2^4 = 2^8 = 256\!</math> different mappings altogether of the form <math>G : U^\bullet \to X^\bullet.\!</math> |
− | The set of all functions of a given type is customarily denoted by placing its type indicator in parentheses, in the present instance writing <math>(U^\ | + | The set of all functions of a given type is customarily denoted by placing its type indicator in parentheses, in the present instance writing <math>(U^\bullet \to X^\bullet) = \{ G : U^\bullet \to X^\bullet \},\!</math> and so the cardinality of this ''function space'' can most conveniently be summed up by writing: |
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
− | | <math>|(U^\ | + | | <math>|(U^\bullet \to X^\bullet)| ~=~ |(\mathbb{B}^2 \to \mathbb{B}^2)| ~=~ 4^4 ~=~ 256.\!</math> |
|} | |} | ||
− | Given any transformation of this type, <math>G : U^\ | + | Given any transformation of this type, <math>G : U^\bullet \to X^\bullet,\!</math> the (first order) differential analysis of <math>G\!</math> is based on the definition of a couple of further transformations, derived by way of operators on <math>G,\!</math> that ply between the (first order) extended universes, <math>\mathrm{E}U^\bullet = [u, v, du, dv]\!</math> and <math>\mathrm{E}X^\bullet = [x, y, dx, dy],\!</math> of <math>G\text{'s}\!</math> own source and target universes. |
− | differential analysis of <math>G\!</math> is based on the definition of a couple of further transformations, derived by way of operators on <math>G,\!</math> that ply between the (first order) extended universes, <math>\ | ||
− | First, the ''enlargement map'' (or the ''secant transformation'') <math>\ | + | First, the ''enlargement map'' (or the ''secant transformation'') <math>\mathrm{E}G = (\mathrm{E}G_1, \mathrm{E}G_2) : \mathrm{E}U^\bullet \to \mathrm{E}X^\bullet\!</math> is defined by the following pair of component equations: |
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
| | | | ||
<math>\begin{array}{lll} | <math>\begin{array}{lll} | ||
− | \ | + | \mathrm{E}G_1 |
− | \\ | + | & = & G_1 (u + \mathrm{d}u, v + \mathrm{d}v) |
− | \ | + | \\[8pt] |
+ | \mathrm{E}G_2 | ||
+ | & = & G_2 (u + \mathrm{d}u, v + \mathrm{d}v) | ||
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
− | Second, the ''difference map'' (or the ''chordal transformation'') <math>\ | + | Second, the ''difference map'' (or the ''chordal transformation'') <math>{\mathrm{D}G = (\mathrm{D}G_1, \mathrm{D}G_2) : \mathrm{E}U^\bullet \to \mathrm{E}X^\bullet}\!</math> is defined in a component-wise fashion as the boolean sum of the initial proposition <math>G_j\!</math> and the ''enlarged'' or ''shifted'' proposition <math>\mathrm{E}G_j,\!</math> for <math>j = 1, 2,\!</math> in accord with following pair of equations: |
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
| | | | ||
<math>\begin{array}{lllll} | <math>\begin{array}{lllll} | ||
− | \ | + | \mathrm{D}G_1 |
− | \\ | + | & = & G_1 (u, v) |
− | + | & + & \mathrm{E}G_1 (u, v, \mathrm{d}u, \mathrm{d}v) | |
− | \\ | + | \\[8pt] |
− | \ | + | & = & G_1 (u, v) |
− | \\ | + | & + & G_1 (u + \mathrm{d}u, v + \mathrm{d}v) |
− | + | \\[8pt] | |
+ | \mathrm{D}G_2 | ||
+ | & = & G_2 (u, v) | ||
+ | & + & \mathrm{E}G_2 (u, v, \mathrm{d}u, \mathrm{d}v) | ||
+ | \\[8pt] | ||
+ | & = & G_2 (u, v) | ||
+ | & + & G_2 (u + \mathrm{d}u, v + \mathrm{d}v) | ||
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
− | Maintaining a strict analogy with ordinary difference calculus would perhaps have us write <math>\ | + | Maintaining a strict analogy with ordinary difference calculus would perhaps have us write <math>\mathrm{D}G_j = \mathrm{E}G_j - G_j,</math> but the sum and difference operations are the same thing in boolean arithmetic. It is more often natural in the logical context to consider an initial proposition <math>q,\!</math> then to compute the enlargement <math>\mathrm{E}q,</math> and finally to determine the difference <math>\mathrm{D}q = q + \mathrm{E}q,\!</math> so we let the variant order of terms reflect this sequence of considerations. |
− | Given these general considerations about the operators <math>\ | + | Given these general considerations about the operators <math>\mathrm{E}\!</math> and <math>\mathrm{D},\!</math> let's return to particular cases, and carry out the first order analysis of the transformation <math>F(u, v) = ( ~ \texttt{((} u \texttt{)(} v \texttt{))} ~,~ \texttt{((} u \texttt{,~} v \texttt{))} ~ ).\!</math> |
− | + | By way of getting our feet back on solid ground, let's crank up our current case of a transformation of discourse, <math>F : U^\bullet \to X^\bullet,\!</math> with concrete type <math>[u, v] \to [x, y]\!</math> or abstract type <math>\mathbb{B}^2 \to \mathbb{B}^2,\!</math> and let it spin through a sufficient number of turns to see how it goes, as viewed under the scope of what is probably its most straightforward view, as an elsewhen map <math>F : [u, v] \to [u', v'].\!</math> | |
− | |||
− | By way of getting our feet back on solid ground, let's crank up our current case of a transformation of discourse, <math>F : U^\ | ||
{| align="center" cellpadding="8" style="text-align:center" | {| align="center" cellpadding="8" style="text-align:center" | ||
| | | | ||
<math>\begin{array}{ccc} | <math>\begin{array}{ccc} | ||
− | + | u' & = & \texttt{((} u \texttt{)(} v \texttt{))} | |
− | + | \\ | |
− | + | v' & = & \texttt{((} u \texttt{,~} v \texttt{))} | |
\end{array}</math> | \end{array}</math> | ||
|- | |- | ||
− | | <math>\text{ | + | | |
+ | <math>\begin{matrix} | ||
+ | \text{Orbit 1} | ||
+ | \\ | ||
+ | \text{Initial Point :}~ (u, v) = (1, 1) | ||
+ | \end{matrix}</math> | ||
|- | |- | ||
| | | | ||
<math>\begin{array}{c|cc} | <math>\begin{array}{c|cc} | ||
− | t & u & v \\ | + | t & u & v \\[8pt] |
− | + | 0 & 1 & 1 \\ | |
− | 0 & | + | 1 & 1 & 1 \\ |
− | 1 & | + | 2 & {}^\shortparallel & {}^\shortparallel |
− | 2 & | ||
− | |||
− | |||
\end{array}</math> | \end{array}</math> | ||
|- | |- | ||
− | | <math>\text{ | + | | |
+ | <math>\begin{matrix} | ||
+ | \text{Orbit 2} | ||
+ | \\ | ||
+ | \text{Initial Point :}~ (u, v) = (0, 0) | ||
+ | \end{matrix}</math> | ||
|- | |- | ||
| | | | ||
<math>\begin{array}{c|cc} | <math>\begin{array}{c|cc} | ||
− | t & u & v \\ | + | t & u & v \\[8pt] |
− | \\ | + | 0 & 0 & 0 \\ |
− | 0 & | + | 1 & 0 & 1 \\ |
− | + | 2 & 1 & 0 \\ | |
− | + | 3 & 1 & 0 \\ | |
+ | 4 & {}^\shortparallel & {}^\shortparallel | ||
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
− | In the upshot there are two basins of attraction, the state <math>(1, | + | In the upshot there are two basins of attraction, the state <math>(1, 1)\!</math> and the state <math>(1, 0),\!</math> with the orbit <math>(1, 1)\!</math> making up an isolated basin and the orbit <math>(0, 0), (0, 1), (1, 0)\!</math> leading to the basin <math>(1, 0).\!</math> |
− | + | On first examination of our present example we made a likely guess at a form of rule that would account for the finite protocol of states that we observed the system <math>X\!</math> passing through, as spied in the light of its boolean state variable <math>x : X \to \mathbb{B},\!</math> and that rule is well-formulated in any of these styles of notation: | |
− | |||
− | On first examination of our present example we made a likely guess at a form of rule that | ||
− | would account for the finite protocol of states that we observed the system <math>X\!</math> passing through, as spied in the light of its boolean state variable <math>x : X \to \mathbb{B},</math> and that rule is well-formulated in any of these styles of notation: | ||
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
| | | | ||
<math>\begin{array}{ll} | <math>\begin{array}{ll} | ||
− | 1.1. & f : \mathbb{B} \to \mathbb{B} ~\text{such that}~ f : | + | 1.1. & f : \mathbb{B} \to \mathbb{B} ~\text{such that}~ f : x \mapsto \texttt{(} x \texttt{)} |
\\ | \\ | ||
− | 1.2. & | + | 1.2. & x' ~=~ \texttt{(} x \texttt{)} |
\\ | \\ | ||
− | 1.3. & | + | 1.3. & x ~:=~ \texttt{(} x \texttt{)} |
\\ | \\ | ||
− | 1.4. & \ | + | 1.4. & \mathrm{d}x ~=~ 1 |
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
Line 613: | Line 682: | ||
| | | | ||
<math>\begin{array}{ll} | <math>\begin{array}{ll} | ||
− | 2.1. & F : \mathbb{B}^2 \to \mathbb{B}^2 ~\text{such that}~ F : ( | + | 2.1. & F : \mathbb{B}^2 \to \mathbb{B}^2 ~\text{such that}~ F : (u, v) \mapsto ( ~ \texttt{((} u \texttt{)(} v \texttt{))} ~,~ \texttt{((} u \texttt{,~} v \texttt{))} ~ ) |
\\ | \\ | ||
− | 2.2. & | + | 2.2. & u' ~=~ \texttt{((} u \texttt{)(} v \texttt{))} \quad ~,~ \quad v' ~=~ \texttt{((} u \texttt{,~} v \texttt{))} |
\\ | \\ | ||
− | 2.3. & | + | 2.3. & u ~:=~ \texttt{((} u \texttt{)(} v \texttt{))} \quad ~,~ \quad v ~:=~ \texttt{((} u \texttt{,~} v \texttt{))} |
\\ | \\ | ||
− | 2.4. & | + | 2.4. & ? |
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
− | Well, the last one is not such a fall off | + | Well, the last one is not such a fall off a log, but that is exactly the purpose for which we have been developing all of the foregoing machinations. |
Here is what I got when I just went ahead and calculated the finite differences willy-nilly: | Here is what I got when I just went ahead and calculated the finite differences willy-nilly: | ||
Line 629: | Line 698: | ||
{| align="center" cellpadding="8" style="text-align:center" | {| align="center" cellpadding="8" style="text-align:center" | ||
|- | |- | ||
− | | <math>\text{ | + | | <math>\text{Orbit 1. Intitial Point :}~ (u, v) = (1, 1)\!</math> |
|- | |- | ||
| | | | ||
<math>\begin{array}{c|cc|cc|cc|cc|cc|c} | <math>\begin{array}{c|cc|cc|cc|cc|cc|c} | ||
− | t & | + | t & u & v & \mathrm{d}u & \mathrm{d}v & \mathrm{d}^2 u & \mathrm{d}^2 v & \mathrm{d}^3 u & \mathrm{d}^3 v & \mathrm{d}^4 u & \mathrm{d}^4 v & \ldots \\[8pt] |
− | + | 0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & \ldots \\ | |
− | + | 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & \ldots \\ | |
− | + | 2 & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & \ldots | |
− | |||
− | |||
− | |||
\end{array}</math> | \end{array}</math> | ||
|- | |- | ||
− | | <math>\text{ | + | | <math>\text{Orbit 2. Intitial Point :}~ (u, v) = (0, 0)\!</math> |
|- | |- | ||
| | | | ||
<math>\begin{array}{c|cc|cc|cc|cc|cc|c} | <math>\begin{array}{c|cc|cc|cc|cc|cc|c} | ||
− | t & | + | t & u & v & \mathrm{d}u & \mathrm{d}v & \mathrm{d}^2 u & \mathrm{d}^2 v & \mathrm{d}^3 u & \mathrm{d}^3 v & \mathrm{d}^4 u & \mathrm{d}^4 v & \ldots \\[8pt] |
− | \\ | + | 0 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 1 & 1 & 0 & \ldots \\ |
− | 0 & | + | 1 & 0 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & \ldots \\ |
− | + | 2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & \ldots \\ | |
− | 4 & | + | 3 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & \ldots \\ |
+ | 4 & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & \ldots | ||
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
Line 658: | Line 725: | ||
What we are looking for is — one rule to rule them all, a rule that applies to every state and works every time. | What we are looking for is — one rule to rule them all, a rule that applies to every state and works every time. | ||
− | What we see at first sight in the tables above are patterns of differential features that attach to the states in each orbit of the dynamics. Looked at locally to these orbits, the isolated fixed point at <math>(1, 1)\!</math> is no problem, as the rule <math>\ | + | What we see at first sight in the tables above are patterns of differential features that attach to the states in each orbit of the dynamics. Looked at locally to these orbits, the isolated fixed point at <math>(1, 1)\!</math> is no problem, as the rule <math>\mathrm{d}u = \mathrm{d}v = 0\!</math> describes it pithily enough. When it comes to the other orbit, the first thing that comes to mind is to write out the law <math>\mathrm{d}u = v ~,~ \mathrm{d}v = \texttt{(} u \texttt{)}.\!</math> |
− | == | + | ==Symbolic Method== |
It ought to be clear at this point that we need a more systematic symbolic method for computing the differentials of logical transformations, using the term ''differential'' in a loose way at present for all sorts of finite differences and derivatives, leaving it to another discussion to sharpen up its more exact technical senses. | It ought to be clear at this point that we need a more systematic symbolic method for computing the differentials of logical transformations, using the term ''differential'' in a loose way at present for all sorts of finite differences and derivatives, leaving it to another discussion to sharpen up its more exact technical senses. | ||
Line 668: | Line 735: | ||
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
| | | | ||
− | <math>\begin{ | + | <math>\begin{matrix} |
− | F & = & (f, g) & = & ( ~\texttt{((u)(v))}~ , ~\texttt{((u,~v))}~ ). | + | F & = & (f, g) & = & ( ~ \texttt{((} u \texttt{)(} v \texttt{))} ~,~ \texttt{((} u \texttt{,~} v \texttt{))} ~ ). |
− | \end{ | + | \end{matrix}</math> |
|} | |} | ||
− | In their application to this logical transformation the operators <math>\ | + | In their application to this logical transformation the operators <math>\mathrm{E}\!</math> and <math>\mathrm{D}\!</math> respectively produce the ''enlarged map'' <math>\mathrm{E}F = (\mathrm{E}f, \mathrm{E}g)\!</math> and the ''difference map'' <math>\mathrm{D}F = (\mathrm{D}f, \mathrm{D}g),\!</math> whose components can be given as follows. |
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
| | | | ||
<math>\begin{array}{lll} | <math>\begin{array}{lll} | ||
− | \ | + | \mathrm{E}f & = & \texttt{((} u + \mathrm{d}u \texttt{)(} v + \mathrm{d}v \texttt{))} |
− | \\ | + | \\[8pt] |
− | \ | + | \mathrm{E}g & = & \texttt{((} u + \mathrm{d}u \texttt{,~} v + \mathrm{d}v \texttt{))} |
− | \\ | + | \\[8pt] |
− | \ | + | \mathrm{D}f & = & \texttt{((} u \texttt{)(} v \texttt{))} ~+~ \texttt{((} u + \mathrm{d}u \texttt{)(} v + \mathrm{d}v \texttt{))} |
− | \\ | + | \\[8pt] |
− | \ | + | \mathrm{D}g & = & \texttt{((} u \texttt{,~} v \texttt{))} ~+~ \texttt{((} u + \mathrm{d}u \texttt{,~} v + \mathrm{d}v \texttt{))} |
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
Line 690: | Line 757: | ||
But these initial formulas are purely definitional, and help us little to understand either the purpose of the operators or the significance of the results. Working symbolically, let's apply a more systematic method to the separate components of the mapping <math>F.\!</math> | But these initial formulas are purely definitional, and help us little to understand either the purpose of the operators or the significance of the results. Working symbolically, let's apply a more systematic method to the separate components of the mapping <math>F.\!</math> | ||
− | A sketch of this work is presented in the following series of Figures, where each logical proposition is expanded over the basic cells <math>\texttt{ | + | A sketch of this work is presented in the following series of Figures, where each logical proposition is expanded over the basic cells <math>uv, u \texttt{(} v \texttt{)}, \texttt{(} u \texttt{)} v, \texttt{(} u \texttt{)(} v \texttt{)}\!</math> of the 2-dimensional universe of discourse <math>U^\bullet = [u, v].\!</math> |
− | ===Computation Summary | + | ===Computation Summary for Logical Disjunction=== |
− | The venn diagram in Figure 1.1 shows how the proposition <math>f = \texttt{((u)(v))}</math> can be expanded over the universe of discourse <math>[u, v]\!</math> to produce a logically equivalent exclusive disjunction, namely, <math>\texttt{ | + | The venn diagram in Figure 1.1 shows how the proposition <math>f = \texttt{((} u \texttt{)(} v \texttt{))}\!</math> can be expanded over the universe of discourse <math>[u, v]\!</math> to produce a logically equivalent exclusive disjunction, namely, <math>uv + u \texttt{(} v \texttt{)} + \texttt{(} u \texttt{)} v.\!</math> |
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
<pre> | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
Line 736: | Line 805: | ||
Figure 1.1. f = ((u)(v)) | Figure 1.1. f = ((u)(v)) | ||
</pre> | </pre> | ||
+ | |} | ||
− | Figure 1.2 expands <math>\ | + | Figure 1.2 expands <math>\mathrm{E}f = \texttt{((} u + \mathrm{d}u \texttt{)(} v + \mathrm{d}v \texttt{))}\!</math> over <math>[u, v]\!</math> to give: |
− | {| align="center" cellpadding="8" | + | {| align="center" cellpadding="8" style="text-align:center; width:100%" |
− | | <math>\texttt{uv | + | | |
+ | <math>\begin{matrix} | ||
+ | \mathrm{E}\texttt{((} u \texttt{)(} v \texttt{))} | ||
+ | & = & uv \cdot \texttt{(} \mathrm{d}u ~ \mathrm{d}v \texttt{)} | ||
+ | & + & u \texttt{(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{(} \mathrm{d}v \texttt{))} | ||
+ | & + & \texttt{(} u \texttt{)} v \cdot \texttt{((} \mathrm{d}u \texttt{)} \mathrm{d}v \texttt{)} | ||
+ | & + & \texttt{(} u \texttt{)(} v \texttt{)} \cdot \texttt{((} \mathrm{d}u \texttt{)(} \mathrm{d}v \texttt{))} | ||
+ | \end{matrix}</math> | ||
|} | |} | ||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
<pre> | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
Line 783: | Line 862: | ||
Figure 1.2. Ef = ((u + du)(v + dv)) | Figure 1.2. Ef = ((u + du)(v + dv)) | ||
</pre> | </pre> | ||
+ | |} | ||
− | Figure 1.3 expands <math>\ | + | Figure 1.3 expands <math>\mathrm{D}f = f + \mathrm{E}f\!</math> over <math>[u, v]\!</math> to produce: |
− | {| align="center" cellpadding="8" | + | {| align="center" cellpadding="8" style="text-align:center; width:100%" |
− | | <math>\texttt{uv~ | + | | |
+ | <math>\begin{matrix} | ||
+ | \mathrm{D}\texttt{((} u \texttt{)(} v \texttt{))} | ||
+ | & = & uv \cdot \mathrm{d}u ~ \mathrm{d}v | ||
+ | & + & u \texttt{(} v \texttt{)} \cdot \mathrm{d}u \texttt{(} \mathrm{d}v \texttt{)} | ||
+ | & + & \texttt{(} u \texttt{)} v \cdot \texttt{(} \mathrm{d}u \texttt{)} \mathrm{d}v | ||
+ | & + & \texttt{(} u \texttt{)(} v \texttt{)} \cdot \texttt{((} \mathrm{d}u \texttt{)(} \mathrm{d}v \texttt{))} | ||
+ | \end{matrix}</math> | ||
|} | |} | ||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
<pre> | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
Line 830: | Line 919: | ||
Figure 1.3. Df = f + Ef | Figure 1.3. Df = f + Ef | ||
</pre> | </pre> | ||
+ | |} | ||
I'll break this here in case anyone wants to try and do the work for <math>g\!</math> on their own. | I'll break this here in case anyone wants to try and do the work for <math>g\!</math> on their own. | ||
− | == | + | ===Computation Summary for Logical Equality=== |
− | + | The venn diagram in Figure 2.1 shows how the proposition <math>g = \texttt{((} u \texttt{,~} v \texttt{))}\!</math> can be expanded over the universe of discourse <math>[u, v]\!</math> to produce a logically equivalent exclusive disjunction, namely, <math>uv + \texttt{(} u \texttt{)(} v \texttt{)}.\!</math> | |
− | |||
− | The venn diagram in Figure 2.1 shows how the proposition <math>g = \texttt{((u,~v))}</math> can be expanded over the universe of discourse <math>[u, v]\!</math> to produce a logically equivalent exclusive disjunction, namely, <math>\texttt{ | ||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
<pre> | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
Line 879: | Line 969: | ||
Figure 2.1. g = ((u, v)) | Figure 2.1. g = ((u, v)) | ||
</pre> | </pre> | ||
+ | |} | ||
− | Figure 2.2 expands <math>\ | + | Figure 2.2 expands <math>\mathrm{E}g = \texttt{((} u + \mathrm{d}u \texttt{,~} v + \mathrm{d}v \texttt{))}\!</math> over <math>[u, v]\!</math> to give: |
− | {| align="center" cellpadding="8" | + | {| align="center" cellpadding="8" style="text-align:center; width:100%" |
− | | <math>\texttt{uv | + | | |
+ | <math>\begin{matrix} | ||
+ | \mathrm{E}\texttt{((} u \texttt{,~} v \texttt{))} | ||
+ | & = & uv \cdot \texttt{((} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{))} | ||
+ | & + & u \texttt{(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | & + & \texttt{(} u \texttt{)} v \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | & + & \texttt{(} u \texttt{)(} v \texttt{)} \cdot \texttt{((} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{))} | ||
+ | \end{matrix}</math> | ||
|} | |} | ||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
<pre> | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
Line 926: | Line 1,026: | ||
Figure 2.2. Eg = ((u + du, v + dv)) | Figure 2.2. Eg = ((u + du, v + dv)) | ||
</pre> | </pre> | ||
+ | |} | ||
− | Figure 2.3 expands <math>\ | + | Figure 2.3 expands <math>\mathrm{D}g = g + \mathrm{E}g\!</math> over <math>[u, v]\!</math> to yield the form: |
− | {| align="center" cellpadding="8" | + | {| align="center" cellpadding="8" style="text-align:center; width:100%" |
− | | <math>\texttt{uv | + | | |
+ | <math>\begin{matrix} | ||
+ | \mathrm{D}\texttt{((} u \texttt{,~} v \texttt{))} | ||
+ | & = & uv \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | & + & u \texttt{(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | & + & \texttt{(} u \texttt{)} v \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | & + & \texttt{(} u \texttt{)(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | \end{matrix}</math> | ||
|} | |} | ||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
<pre> | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
Line 973: | Line 1,083: | ||
Figure 2.3. Dg = g + Eg | Figure 2.3. Dg = g + Eg | ||
</pre> | </pre> | ||
+ | |} | ||
− | == | + | ==Differential : Locally Linear Approximation== |
{| cellpadding="2" cellspacing="2" width="100%" | {| cellpadding="2" cellspacing="2" width="100%" | ||
Line 995: | Line 1,106: | ||
| | | | ||
<math>\begin{array}{lllll} | <math>\begin{array}{lllll} | ||
− | F & = & (f, g) & = & ( ~\texttt{((u)(v))}~ , ~\texttt{((u,~v))}~ ) | + | F |
+ | & = & (f, g) | ||
+ | & = & ( ~ \texttt{((} u \texttt{)(} v \texttt{))} ~,~ \texttt{((} u \texttt{,~} v \texttt{))} ~ ) | ||
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
− | To speed things along, I will skip a mass of motivating discussion and just exhibit the simplest form of a differential <math>\ | + | To speed things along, I will skip a mass of motivating discussion and just exhibit the simplest form of a differential <math>\mathrm{d}F\!</math> for the current example of a logical transformation <math>F,\!</math> after which the majority of the easiest questions will have been answered in visually intuitive terms. |
− | For <math>F = (f, g)\!</math> we have <math>\ | + | For <math>F = (f, g)\!</math> we have <math>\mathrm{d}F = (\mathrm{d}f, \mathrm{d}g),\!</math> and so we can proceed componentwise, patching the pieces back together at the end. |
We have prepared the ground already by computing these terms: | We have prepared the ground already by computing these terms: | ||
Line 1,008: | Line 1,121: | ||
| | | | ||
<math>\begin{array}{lll} | <math>\begin{array}{lll} | ||
− | \ | + | \mathrm{E}f & = & \texttt{((} u + \mathrm{d}u \texttt{)(} v + \mathrm{d}v \texttt{))} |
− | \\ | + | \\[8pt] |
− | \ | + | \mathrm{E}g & = & \texttt{((} u + \mathrm{d}u \texttt{,~} v + \mathrm{d}v \texttt{))} |
− | \\ | + | \\[8pt] |
− | \ | + | \mathrm{D}f & = & \texttt{((} u \texttt{)(} v \texttt{))} ~+~ \texttt{((} u + \mathrm{d}u \texttt{)(} v + \mathrm{d}v \texttt{))} |
− | \\ | + | \\[8pt] |
− | \ | + | \mathrm{D}g & = & \texttt{((} u \texttt{,~} v \texttt{))} ~+~ \texttt{((} u + \mathrm{d}u \texttt{,~} v + \mathrm{d}v \texttt{))} |
\end{array}</math> | \end{array}</math> | ||
|} | |} | ||
− | As a matter of fact, computing the symmetric differences <math>\ | + | As a matter of fact, computing the symmetric differences <math>\mathrm{D}f = f + \mathrm{E}f\!</math> and <math>\mathrm{D}g = g + \mathrm{E}g\!</math> has already taken care of the ''localizing'' part of the task by subtracting out the forms of <math>f\!</math> and <math>g\!</math> from the forms of <math>\mathrm{E}f\!</math> and <math>\mathrm{E}g,\!</math> respectively. Thus all we have left to do is to decide what linear propositions best approximate the difference maps <math>{\mathrm{D}f}\!</math> and <math>{\mathrm{D}g},\!</math> respectively. |
This raises the question: What is a linear proposition? | This raises the question: What is a linear proposition? | ||
− | The answer that makes the most sense in this context is this: A proposition is just a boolean-valued function, so a linear proposition is a linear function into the boolean space <math>\mathbb{B}.</math> | + | The answer that makes the most sense in this context is this: A proposition is just a boolean-valued function, so a linear proposition is a linear function into the boolean space <math>\mathbb{B}.\!</math> |
− | In particular, the linear functions that we want will be linear functions in the differential variables <math> | + | In particular, the linear functions that we want will be linear functions in the differential variables <math>\mathrm{d}u\!</math> and <math>\mathrm{d}v.\!</math> |
− | As it turns out, there are just four linear propositions in the associated ''differential universe'' <math>\ | + | As it turns out, there are just four linear propositions in the associated ''differential universe'' <math>\mathrm{d}U^\bullet = [\mathrm{d}u, \mathrm{d}v].\!</math> These are the propositions that are commonly denoted: <math>{0, ~\mathrm{d}u, ~\mathrm{d}v, ~\mathrm{d}u + \mathrm{d}v},\!</math> in other words: <math>\texttt{(~)}, ~\mathrm{d}u, ~\mathrm{d}v, ~\texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)}.\!</math> |
− | == | + | ==Notions of Approximation== |
{| cellpadding="2" cellspacing="2" width="100%" | {| cellpadding="2" cellspacing="2" width="100%" | ||
Line 1,053: | Line 1,166: | ||
Justifying a notion of approximation is a little more involved in general, and especially in these discrete logical spaces, than it would be expedient for people in a hurry to tangle with right now. I will just say that there are ''naive'' or ''obvious'' notions and there are ''sophisticated'' or ''subtle'' notions that we might choose among. The later would engage us in trying to construct proper logical analogues of Lie derivatives, and so let's save that for when we have become subtle or sophisticated or both. Against or toward that day, as you wish, let's begin with an option in plain view. | Justifying a notion of approximation is a little more involved in general, and especially in these discrete logical spaces, than it would be expedient for people in a hurry to tangle with right now. I will just say that there are ''naive'' or ''obvious'' notions and there are ''sophisticated'' or ''subtle'' notions that we might choose among. The later would engage us in trying to construct proper logical analogues of Lie derivatives, and so let's save that for when we have become subtle or sophisticated or both. Against or toward that day, as you wish, let's begin with an option in plain view. | ||
− | Figure 1.4 illustrates one way of ranging over the cells of the underlying universe <math>U^\ | + | Figure 1.4 illustrates one way of ranging over the cells of the underlying universe <math>U^\bullet = [u, v]\!</math> and selecting at each cell the linear proposition in <math>\mathrm{d}U^\bullet = [\mathrm{d}u, \mathrm{d}v]\!</math> that best approximates the patch of the difference map <math>{\mathrm{D}f}\!</math> that is located there, yielding the following formula for the differential <math>\mathrm{d}f.\!</math> |
− | {| align="center" cellpadding="8" | + | {| align="center" cellpadding="8" style="text-align:center; width:100%" |
− | | <math>\ | + | | |
+ | <math>\begin{array}{*{11}{c}} | ||
+ | \mathrm{d}f | ||
+ | & = & \mathrm{d}\texttt{((} u \texttt{)(} v \texttt{))} | ||
+ | & = & uv \cdot 0 | ||
+ | & + & u \texttt{(} v \texttt{)} \cdot \mathrm{d}u | ||
+ | & + & \texttt{(} u \texttt{)} v \cdot \mathrm{d}v | ||
+ | & + & \texttt{(} u \texttt{)(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | \end{array}</math> | ||
|} | |} | ||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
<pre> | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
Line 1,099: | Line 1,222: | ||
Figure 1.4. df = linear approx to Df | Figure 1.4. df = linear approx to Df | ||
</pre> | </pre> | ||
+ | |} | ||
− | Figure 2.4 illustrates one way of ranging over the cells of the underlying universe <math>U^\ | + | Figure 2.4 illustrates one way of ranging over the cells of the underlying universe <math>U^\bullet = [u, v]\!</math> and selecting at each cell the linear proposition in <math>\mathrm{d}U^\bullet = [du, dv]\!</math> that best approximates the patch of the difference map <math>\mathrm{D}g\!</math> that is located there, yielding the following formula for the differential <math>\mathrm{d}g.\!</math> |
− | {| align="center" cellpadding="8" | + | {| align="center" cellpadding="8" style="text-align:center; width:100%" |
− | | <math>\ | + | | |
+ | <math>\begin{array}{*{11}{c}} | ||
+ | \mathrm{d}g | ||
+ | & = & \mathrm{d}\texttt{((} u \texttt{,} v \texttt{))} | ||
+ | & = & uv \cdot \texttt{(} \mathrm{d}u \texttt{,} \mathrm{d}v \texttt{)} | ||
+ | & + & u \texttt{(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{,} \mathrm{d}v \texttt{)} | ||
+ | & + & \texttt{(} u \texttt{)} v \cdot \texttt{(} \mathrm{d}u \texttt{,} \mathrm{d}v \texttt{)} | ||
+ | & + & \texttt{(} u \texttt{)(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{,} \mathrm{d}v \texttt{)} | ||
+ | \end{array}</math> | ||
|} | |} | ||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
<pre> | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
Line 1,146: | Line 1,280: | ||
Figure 2.4. dg = linear approx to Dg | Figure 2.4. dg = linear approx to Dg | ||
</pre> | </pre> | ||
+ | |} | ||
− | Well, <math>g,\!</math> that was easy, seeing as how <math>\ | + | Well, <math>g,\!</math> that was easy, seeing as how <math>\mathrm{D}g\!</math> is already linear at each locus, <math>\mathrm{d}g = \mathrm{D}g.\!</math> |
− | == | + | ==Analytic Series== |
− | We have been conducting the differential analysis of the logical transformation <math>F : [u, v] \mapsto [u, v]</math> defined as <math>F : (u, v) \mapsto ( ~\texttt{((u)(v))}~, ~\texttt{((u, v))}~ ),</math> and this means starting with the extended transformation <math>\ | + | We have been conducting the differential analysis of the logical transformation <math>F : [u, v] \mapsto [u, v]\!</math> defined as <math>F : (u, v) \mapsto ( ~ \texttt{((} u \texttt{)(} v \texttt{))} ~,~ \texttt{((} u \texttt{,~} v \texttt{))} ~ ),\!</math> and this means starting with the extended transformation <math>\mathrm{E}F : [u, v, \mathrm{d}u, \mathrm{d}v] \to [u, v, \mathrm{d}u, \mathrm{d}v]\!</math> and breaking it into an analytic series, <math>\mathrm{E}F = F + \mathrm{d}F + \mathrm{d}^2 F + \ldots,\!</math> and so on until there is nothing left to analyze any further. |
− | so on until there is nothing left to analyze any further. | ||
As a general rule, one proceeds by way of the following stages: | As a general rule, one proceeds by way of the following stages: | ||
Line 1,158: | Line 1,292: | ||
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
| | | | ||
− | <math>\begin{array}{ | + | <math>\begin{array}{*{6}{l}} |
− | 1. & \ | + | 1. & \mathrm{E}F |
+ | & = & \mathrm{d}^0 F | ||
+ | & + & \mathrm{r}^0 F | ||
\\ | \\ | ||
− | 2. & \ | + | 2. & \mathrm{r}^0 F |
+ | & = & \mathrm{d}^1 F | ||
+ | & + & \mathrm{r}^1 F | ||
\\ | \\ | ||
− | 3. & \ | + | 3. & \mathrm{r}^1 F |
+ | & = & \mathrm{d}^2 F | ||
+ | & + & \mathrm{r}^2 F | ||
\\ | \\ | ||
4. & \ldots | 4. & \ldots | ||
Line 1,169: | Line 1,309: | ||
|} | |} | ||
− | In our analysis of the transformation <math>F,\!</math> we carried out Step 1 in the more familiar form <math>\ | + | In our analysis of the transformation <math>F,\!</math> we carried out Step 1 in the more familiar form <math>\mathrm{E}F = F + \mathrm{D}F\!</math> and we have just reached Step 2 in the form <math>\mathrm{D}F = \mathrm{d}F + \mathrm{r}F,\!</math> where <math>\mathrm{r}F\!</math> is the residual term that remains for us to examine next. |
− | |||
− | |||
− | + | '''Note.''' I'm am trying to give quick overview here, and this forces me to omit many picky details. The picky reader may wish to consult the more detailed presentation of this material at the following locations: | |
− | |||
− | |||
− | + | :* [[Differential Logic and Dynamic Systems 2.0|Differential Logic and Dynamic Systems]] | |
+ | ::* [[Differential Logic and Dynamic Systems 2.0#The Secant Operator : E|The Secant Operator]] | ||
+ | ::* [[Differential Logic and Dynamic Systems 2.0#Taking Aim at Higher Dimensional Targets|Higher Dimensional Targets]] | ||
Let's push on with the analysis of the transformation: | Let's push on with the analysis of the transformation: | ||
Line 1,184: | Line 1,322: | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | F & : & (u, v) & \mapsto & (f(u, v), | + | F & : & (u, v) & \mapsto & (f(u, v), g(u, v)) |
+ | & = & ( ~ \texttt{((} u \texttt{)(} v \texttt{))} ~,~ \texttt{((} u \texttt{,~} v \texttt{))} ~) | ||
+ | \end{matrix}</math> | ||
|} | |} | ||
For ease of comparison and computation, I will collect the Figures that we need for the remainder of the work together on one page. | For ease of comparison and computation, I will collect the Figures that we need for the remainder of the work together on one page. | ||
− | ===Computation Summary | + | ===Computation Summary for Logical Disjunction=== |
− | Figure 1.1 shows the expansion of <math>f = \texttt{((u)(v))}</math> over <math>[u, v]\!</math> to produce the expression: | + | Figure 1.1 shows the expansion of <math>f = \texttt{((} u \texttt{)(} v \texttt{))}\!</math> over <math>[u, v]\!</math> to produce the expression: |
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
− | | <math>\ | + | | |
+ | <math>\begin{matrix} | ||
+ | uv & + & u \texttt{(} v \texttt{)} & + & \texttt{(} u \texttt{)} v | ||
+ | \end{matrix}</math> | ||
|} | |} | ||
− | Figure 1.2 shows the expansion of <math>\ | + | Figure 1.2 shows the expansion of <math>\mathrm{E}f = \texttt{((} u + \mathrm{d}u \texttt{)(} v + \mathrm{d}v \texttt{))}\!</math> over <math>[u, v]\!</math> to produce the expression: |
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
− | | <math>\ | + | | |
+ | <math>\begin{matrix} | ||
+ | uv \cdot \texttt{(} \mathrm{d}u ~ \mathrm{d}v \texttt{)} & + & | ||
+ | u \texttt{(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{(} \mathrm{d}v \texttt{))} & + & | ||
+ | \texttt{(} u \texttt{)} v \cdot \texttt{((} \mathrm{d}u \texttt{)} \mathrm{d}v \texttt{)} & + & | ||
+ | \texttt{(} u \texttt{)(} v \texttt{)} \cdot \texttt{((} \mathrm{d}u \texttt{)(} \mathrm{d}v \texttt{))} | ||
+ | \end{matrix}</math> | ||
|} | |} | ||
− | <math>\ | + | In general, <math>\mathrm{E}f\!</math> tells you what you would have to do, from wherever you are in the universe <math>[u, v],\!</math> if you want to end up in a place where <math>f\!</math> is true. In this case, where the prevailing proposition <math>f\!</math> is <math>\texttt{((} u \texttt{)(} v \texttt{))},\!</math> the indication <math>uv \cdot \texttt{(} \mathrm{d}u ~ \mathrm{d}v \texttt{)}\!</math> of <math>\mathrm{E}f\!</math> tells you this: If <math>u\!</math> and <math>v\!</math> are both true where you are, then just don't change both <math>u\!</math> and <math>v\!</math> at once, and you will end up in a place where <math>\texttt{((} u \texttt{)(} v \texttt{))}\!</math> is true. |
− | Figure 1.3 shows the expansion of <math>\ | + | Figure 1.3 shows the expansion of <math>\mathrm{D}f</math> over <math>[u, v]\!</math> to produce the expression: |
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
− | | <math>\ | + | | |
+ | <math>\begin{matrix} | ||
+ | uv \cdot \mathrm{d}u ~ \mathrm{d}v & + & | ||
+ | u \texttt{(} v \texttt{)} \cdot \mathrm{d}u \texttt{(} \mathrm{d}v \texttt{)} & + & | ||
+ | \texttt{(} u \texttt{)} v \cdot \texttt{(} \mathrm{d}u \texttt{)} \mathrm{d}v & + & | ||
+ | \texttt{(} u \texttt{)(} v \texttt{)} \cdot \texttt{((} \mathrm{d}u \texttt{)(} \mathrm{d}v \texttt{))} | ||
+ | \end{matrix}</math> | ||
|} | |} | ||
− | <math>\ | + | In general, <math>{\mathrm{D}f}\!</math> tells you what you would have to do, from wherever you are in the universe <math>[u, v],\!</math> if you want to bring about a change in the value of <math>f,\!</math> that is, if you want to get to a place where the value of <math>f\!</math> is different from what it is where you are. In the present case, where the reigning proposition <math>f\!</math> is <math>\texttt{((} u \texttt{)(} v \texttt{))},\!</math> the term <math>uv \cdot \mathrm{d}u ~ \mathrm{d}v\!</math> of <math>{\mathrm{D}f}\!</math> tells you this: If <math>u\!</math> and <math>v\!</math> are both true where you are, then you would have to change both <math>u\!</math> and <math>v\!</math> in order to reach a place where the value of <math>f\!</math> is different from what it is where you are. |
− | Figure 1.4 approximates <math>\ | + | Figure 1.4 approximates <math>{\mathrm{D}f}\!</math> by the linear form <math>\mathrm{d}f\!</math> that expands over <math>[u, v]\!</math> as follows: |
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
| | | | ||
<math>\begin{matrix} | <math>\begin{matrix} | ||
− | \ | + | \mathrm{d}f |
− | & = & | + | & = & uv \cdot 0 |
− | \\ | + | & + & u \texttt{(} v \texttt{)} \cdot \mathrm{d}u |
− | & = & & & \texttt{ | + | & + & \texttt{(} u \texttt{)} v \cdot \mathrm{d}v |
+ | & + & \texttt{(} u \texttt{)(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | \\[8pt] | ||
+ | & = &&& u \texttt{(} v \texttt{)} \cdot \mathrm{d}u | ||
+ | & + & \texttt{(} u \texttt{)} v \cdot \mathrm{d}v | ||
+ | & + & \texttt{(} u \texttt{)(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
\end{matrix}</math> | \end{matrix}</math> | ||
|} | |} | ||
− | Figure 1.5 shows what remains of the difference map <math>\ | + | Figure 1.5 shows what remains of the difference map <math>{\mathrm{D}f}\!</math> when the first order linear contribution <math>\mathrm{d}f\!</math> is removed, namely: |
{| align="center" cellpadding="8" width="90%" | {| align="center" cellpadding="8" width="90%" | ||
| | | | ||
− | <math>\begin{ | + | <math>\begin{array}{*{9}{l}} |
− | \ | + | \mathrm{r}f |
− | & = & | + | & = & uv \cdot \mathrm{d}u ~ \mathrm{d}v |
− | \\ | + | & + & u \texttt{(} v \texttt{)} \cdot \mathrm{d}u ~ \mathrm{d}v |
− | & = & \ | + | & + & \texttt{(} u \texttt{)} v \cdot \mathrm{d}u ~ \mathrm{d}v |
− | \end{ | + | & + & \texttt{(} u \texttt{)(} v \texttt{)} \cdot \mathrm{d}u ~ \mathrm{d}v |
+ | \\[8pt] | ||
+ | & = & \mathrm{d}u ~ \mathrm{d}v | ||
+ | \end{array}</math> | ||
|} | |} | ||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
<pre> | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
Line 1,277: | Line 1,442: | ||
Figure 1.1. f = ((u)(v)) | Figure 1.1. f = ((u)(v)) | ||
</pre> | </pre> | ||
+ | |} | ||
− | + | {| align="center" border="0" cellpadding="10" | |
− | + | | | |
<pre> | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
Line 1,320: | Line 1,486: | ||
Figure 1.2. Ef = ((u + du)(v + dv)) | Figure 1.2. Ef = ((u + du)(v + dv)) | ||
</pre> | </pre> | ||
+ | |} | ||
− | + | {| align="center" border="0" cellpadding="10" | |
− | + | | | |
<pre> | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
Line 1,363: | Line 1,530: | ||
Figure 1.3. Difference Map Df = f + Ef | Figure 1.3. Difference Map Df = f + Ef | ||
</pre> | </pre> | ||
+ | |} | ||
− | + | {| align="center" border="0" cellpadding="10" | |
− | + | | | |
<pre> | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
Line 1,406: | Line 1,574: | ||
Figure 1.4. Linear Proxy df for Df | Figure 1.4. Linear Proxy df for Df | ||
</pre> | </pre> | ||
+ | |} | ||
− | + | {| align="center" border="0" cellpadding="10" | |
− | + | | | |
<pre> | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
Line 1,449: | Line 1,618: | ||
Figure 1.5. Remainder rf = Df + df | Figure 1.5. Remainder rf = Df + df | ||
</pre> | </pre> | ||
+ | |} | ||
− | ===Computation Summary | + | ===Computation Summary for Logical Equality=== |
− | + | Figure 2.1 shows the expansion of <math>g = \texttt{((} u \texttt{,~} v \texttt{))}\!</math> over <math>[u, v]\!</math> to produce the expression: | |
− | == | + | {| align="center" cellpadding="8" width="90%" |
+ | | | ||
+ | <math>\begin{matrix} | ||
+ | uv & + & \texttt{(} u \texttt{)(} v \texttt{)} | ||
+ | \end{matrix}</math> | ||
+ | |} | ||
− | < | + | Figure 2.2 shows the expansion of <math>\mathrm{E}g = \texttt{((} u + \mathrm{d}u \texttt{,~} v + \mathrm{d}v \texttt{))}\!</math> over <math>[u, v]\!</math> to produce the expression: |
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | | | ||
+ | <math>\begin{matrix} | ||
+ | uv \cdot \texttt{((} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{))} & + & | ||
+ | u \texttt{(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} & + & | ||
+ | \texttt{(} u \texttt{)} v \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} & + & | ||
+ | \texttt{(} u \texttt{)(} v \texttt{)} \cdot \texttt{((} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{))} | ||
+ | \end{matrix}</math> | ||
+ | |} | ||
− | + | In general, <math>\mathrm{E}g\!</math> tells you what you would have to do, from wherever you are in the universe <math>[u, v],\!</math> if you want to end up in a place where <math>g\!</math> is true. In this case, where the prevailing proposition <math>g\!</math> is <math>\texttt{((} u \texttt{,~} v \texttt{))},\!</math> the component <math>uv \cdot \texttt{((} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{))}\!</math> of <math>\mathrm{E}g\!</math> tells you this: If <math>u\!</math> and <math>v\!</math> are both true where you are, then change either both or neither of <math>u\!</math> and <math>v\!</math> at the same time, and you will attain a place where <math>\texttt{((} u \texttt{,~} v \texttt{))}\!</math> is true. | |
− | |||
− | Figure 2. | + | Figure 2.3 shows the expansion of <math>\mathrm{D}g\!</math> over <math>[u, v]\!</math> to produce the expression: |
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | + | <math>\begin{matrix} | |
− | + | uv \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} & + & | |
− | + | u \texttt{(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} & + & | |
− | + | \texttt{(} u \texttt{)} v \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} & + & | |
+ | \texttt{(} u \texttt{)(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | \end{matrix}</math> | ||
+ | |} | ||
− | + | In general, <math>\mathrm{D}g\!</math> tells you what you would have to do, from wherever you are in the universe <math>[u, v],\!</math> if you want to bring about a change in the value of <math>g,\!</math> that is, if you want to get to a place where the value of <math>g\!</math> is different from what it is where you are. In the present case, where the ruling proposition <math>g\!</math> is <math>\texttt{((} u \texttt{,~} v \texttt{))},\!</math> the term <math>uv \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)}\!</math> of <math>\mathrm{D}g\!</math> tells you this: If <math>u\!</math> and <math>v\!</math> are both true where you are, then you would have to change one or the other but not both <math>u\!</math> and <math>v\!</math> in order to reach a place where the value of <math>g\!</math> is different from what it is where you are. | |
− | |||
− | + | Figure 2.4 approximates <math>\mathrm{D}g\!</math> by the linear form <math>{\mathrm{d}g}\!</math> that expands over <math>[u, v]\!</math> as follows: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | + | <math>\begin{array}{*{9}{l}} | |
− | + | \mathrm{d}g | |
+ | & = & uv \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | & + & u \texttt{(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | & + & \texttt{(} u \texttt{)} v \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | & + & \texttt{(} u \texttt{)(} v \texttt{)} \cdot \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | \\[8pt] | ||
+ | & = & \texttt{(} \mathrm{d}u \texttt{,~} \mathrm{d}v \texttt{)} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | Figure 2.5 shows what remains of the difference map | + | Figure 2.5 shows what remains of the difference map <math>\mathrm{D}g\!</math> when the first order linear contribution <math>{\mathrm{d}g}\!</math> is removed, namely: |
− | when the first order linear contribution | ||
− | |||
+ | {| align="center" cellpadding="8" width="90%" | ||
+ | | | ||
+ | <math>\begin{array}{*{9}{l}} | ||
+ | \mathrm{r}g | ||
+ | & = & uv \cdot 0 | ||
+ | & + & u \texttt{(} v \texttt{)} \cdot 0 | ||
+ | & + & \texttt{(} u \texttt{)} v \cdot 0 | ||
+ | & + & \texttt{(} u \texttt{)(} v \texttt{)} \cdot 0 | ||
+ | \\[8pt] | ||
+ | & = & 0 | ||
+ | \end{array}</math> | ||
+ | |} | ||
+ | |||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
+ | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
| | | | | | ||
Line 1,535: | Line 1,730: | ||
o---------------------------------------o | o---------------------------------------o | ||
Figure 2.1. g = ((u, v)) | Figure 2.1. g = ((u, v)) | ||
+ | </pre> | ||
+ | |} | ||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
+ | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
| | | | | | ||
Line 1,574: | Line 1,774: | ||
o---------------------------------------o | o---------------------------------------o | ||
Figure 2.2. Eg = ((u + du, v + dv)) | Figure 2.2. Eg = ((u + du, v + dv)) | ||
+ | </pre> | ||
+ | |} | ||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
+ | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
| | | | | | ||
Line 1,613: | Line 1,818: | ||
o---------------------------------------o | o---------------------------------------o | ||
Figure 2.3. Difference Map Dg = g + Eg | Figure 2.3. Difference Map Dg = g + Eg | ||
+ | </pre> | ||
+ | |} | ||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
+ | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
| | | | | | ||
Line 1,652: | Line 1,862: | ||
o---------------------------------------o | o---------------------------------------o | ||
Figure 2.4. Linear Proxy dg for Dg | Figure 2.4. Linear Proxy dg for Dg | ||
+ | </pre> | ||
+ | |} | ||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
+ | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
| | | | | | ||
Line 1,691: | Line 1,906: | ||
o---------------------------------------o | o---------------------------------------o | ||
Figure 2.5. Remainder rg = Dg + dg | Figure 2.5. Remainder rg = Dg + dg | ||
+ | </pre> | ||
+ | |} | ||
+ | <br> | ||
+ | |||
+ | <pre> | ||
| Have I carved enough, my lord -- | | Have I carved enough, my lord -- | ||
| Child, you are a bone. | | Child, you are a bone. | ||
Line 1,698: | Line 1,918: | ||
</pre> | </pre> | ||
− | == | + | ==Visualization== |
− | + | In my work on [[Differential Logic and Dynamic Systems 2.0|Differential Logic and Dynamic Systems]], I found it useful to develop several different ways of visualizing logical transformations, indeed, I devised four distinct styles of picture for the job. Thus far in our work on the mapping <math>F : [u, v] \to [u, v],\!</math> we've been making use of what I call the ''areal view'' of the extended universe of discourse, <math>[u, v, \mathrm{d}u, \mathrm{d}v],\!</math> but as the number of dimensions climbs beyond four, it's time to bid this genre adieu and look for a style that can scale a little better. At any rate, before we proceed any further, let's first assemble the information that we have gathered about <math>F\!</math> from several different angles, and see if it can be fitted into a coherent picture of the transformation <math>F : (u, v) \mapsto ( ~ \texttt{((} u \texttt{)(} v \texttt{))} ~,~ \texttt{((} u \texttt{,~} v \texttt{))} ~ ).\!</math> | |
− | In my work on | ||
− | I found it useful to develop several different ways of | ||
− | visualizing logical transformations, indeed, I devised | ||
− | four distinct styles of picture for the job. Thus far | ||
− | in our work on the mapping F : [u, v] | ||
− | been making use of what I call the | ||
− | extended universe of discourse, [u, v, | ||
− | the number of dimensions climbs beyond four, it's time | ||
− | to bid this genre adieu | ||
− | scale a little better. At any rate, before we proceed | ||
− | any further, let's first assemble the information that | ||
− | we have gathered about F from several different angles, | ||
− | and see if it can be fitted into a coherent picture of | ||
− | the transformation F : | ||
− | In our first crack at the transformation F, we simply | + | In our first crack at the transformation <math>F,\!</math> we simply plotted the state transitions and applied the utterly stock technique of calculating the finite differences. |
− | plotted the state transitions and applied the utterly | ||
− | stock technique of calculating the finite differences. | ||
− | Orbit 1 | + | {| align="center" cellpadding="8" style="text-align:center" |
− | + | | <math>\text{Orbit 1}\!</math> | |
− | | | + | |- |
− | + | | | |
− | + | <math>\begin{array}{c|cc|cc|} | |
− | + | t & u & v & \mathrm{d}u & \mathrm{d}v \\[8pt] | |
− | | | + | 0 & 1 & 1 & 0 & 0 \\ |
− | + | 1 & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel | |
+ | \end{array}</math> | ||
+ | |} | ||
− | A quick inspection of the first Table suggests a rule | + | A quick inspection of the first Table suggests a rule to cover the case when <math>u = v = 1,\!</math> namely, <math>\mathrm{d}u = \mathrm{d}v = 0.\!</math> To put it another way, the Table characterizes Orbit 1 by means of the data: <math>(u, v, \mathrm{d}u, \mathrm{d}v) = (1, 1, 0, 0).\!</math> Another way to convey the same information is by means of the extended proposition: <math>u v \texttt{(} \mathrm{d}u \texttt{)(} \mathrm{d}v \texttt{)}.\!</math> |
− | to cover the case when u = v = 1, namely, | ||
− | To put it another way, the Table characterizes Orbit 1 | ||
− | by means of the data: <u, v, | ||
− | |||
− | information is by means of the | ||
− | proposition: u v ( | ||
− | Orbit 2 | + | {| align="center" cellpadding="8" style="text-align:center" |
− | + | | <math>\text{Orbit 2}\!</math> | |
− | + | |- | |
− | | | + | | |
− | + | <math>\begin{array}{c|cc|cc|cc|} | |
− | + | t & u & v & \mathrm{d}u & \mathrm{d}v & \mathrm{d}^2 u & \mathrm{d}^2 v \\[8pt] | |
− | + | 0 & 0 & 0 & 0 & 1 & 1 & 0 \\ | |
− | + | 1 & 0 & 1 & 1 & 1 & 1 & 1 \\ | |
− | + | 2 & 1 & 0 & 0 & 0 & 0 & 0 \\ | |
− | | | + | 3 & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel & {}^\shortparallel |
− | + | \end{array}</math> | |
+ | |} | ||
− | A more fine combing of the second Table brings to mind | + | A more fine combing of the second Table brings to mind a rule that partly covers the remaining cases, that is, <math>\mathrm{d}u = v, ~ \mathrm{d}v = \texttt{(} u \texttt{)}.\!</math> This much information about Orbit 2 is also encapsulated by the extended proposition <math>\texttt{(} uv \texttt{)((} \mathrm{d}u \texttt{,} v \texttt{))(} \mathrm{d}v, u \texttt{)},\!</math> which says that <math>u\!</math> and <math>v\!</math> are not both true at the same time, while <math>\mathrm{d}u\!</math> is equal in value to <math>v\!</math> and <math>\mathrm{d}v\!</math> is opposite in value to <math>u.\!</math> |
− | a rule that partly covers the remaining cases, that is, | ||
− | |||
− | |||
− | |||
− | about Orbit 2 is also encapsulated by the | ||
− | extended proposition | ||
− | that u and v are not both true at the same time, while | ||
− | |||
− | </ | ||
− | == | + | ==Turing Machine Example== |
− | < | + | <font size="3">☞</font> See [[Theme One Program]] for documentation of the cactus graph syntax and the propositional modeling program used below. |
− | |||
− | |||
− | |||
− | of | ||
− | the cactus | ||
− | |||
− | + | By way of providing a simple illustration of Cook's Theorem, namely, that “Propositional Satisfiability is NP-Complete”, I will describe one way to translate finite approximations of turing machines into propositional expressions, using the cactus language syntax for propositional calculus that I will describe in more detail as we proceed. | |
− | + | :; <math>\mathrm{Stilt}(k) =\!</math> | |
− | + | :: '''Space and time limited turing machine''', | |
− | + | :: with <math>k\!</math> units of space and <math>k\!</math> units of time. | |
− | + | :; <math>\mathrm{Stunt}(k) =\!</math> | |
− | + | :: '''Space and time limited turing machine''', | |
− | + | :: for computing the parity of a bit string, with number of tape cells of input equal to <math>k.\!</math> | |
− | |||
− | I will follow the pattern of discussion in | + | I will follow the pattern of discussion in Herbert Wilf (1986), ''Algorithms and Complexity'', pp. 188–201, but translate his logical formalism into cactus language, which is more efficient in regard to the number of propositional clauses that are required. |
− | |||
− | pp. 188 | ||
− | cactus language, which is more efficient in regard to | ||
− | the number of propositional clauses that are required. | ||
− | A turing machine for computing the parity of a bit string | + | A turing machine for computing the parity of a bit string is described by means of the following Figure and Table. |
− | is described by means of the following Figure and Table. | ||
− | + | {| align="center" border="0" cellspacing="10" style="text-align:center; width:100%" | |
− | | | + | | [[Image:Parity_Machine.jpg|400px]] |
− | + | |- | |
− | | | + | | height="20px" valign="top" | <math>\text{Figure 3.} ~~ \text{Parity Machine}\!</math> |
− | | | + | |} |
− | + | ||
− | + | <br> | |
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Table | + | {| align="center" border="0" cellpadding="10" |
+ | | | ||
+ | <pre> | ||
+ | Table 4. Parity Machine | ||
o-------o--------o-------------o---------o------------o | o-------o--------o-------------o---------o------------o | ||
| State | Symbol | Next Symbol | Ratchet | Next State | | | State | Symbol | Next Symbol | Ratchet | Next State | | ||
Line 1,818: | Line 1,993: | ||
| 1 | # | # | -1 | * | | | 1 | # | # | -1 | * | | ||
o-------o--------o-------------o---------o------------o | o-------o--------o-------------o---------o------------o | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
+ | |} | ||
− | + | <br> | |
− | + | The TM has a ''finite automaton'' (FA) as one component. Let us refer to this particular FA by the name of <math>\mathrm{M}.</math> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | The ''tape head'' (that is, the ''read unit'') will be called <math>\mathrm{H}.</math> The ''registers'' are also called ''tape cells'' or ''tape squares''. | |
− | |||
− | tape | ||
− | |||
− | |||
− | + | ===Finite Approximations=== | |
− | |||
− | |||
− | |||
− | + | To see how each finite approximation to a given turing machine can be given a purely propositional description, one fixes the parameter <math>k\!</math> and limits the rest of the discussion to describing <math>\mathrm{Stilt}(k),\!</math> which is not really a full-fledged TM anymore but just a finite automaton in disguise. | |
− | |||
− | |||
− | + | In this example, for the sake of a minimal illustration, we choose <math>k = 2,\!</math> and discuss <math>\mathrm{Stunt}(2).</math> Since the zeroth tape cell and the last tape cell are both occupied by the character <math>^{\backprime\backprime}\texttt{\#}^{\prime\prime}</math> that is used for both the ''beginning of file'' <math>(\mathrm{bof})</math> and the ''end of file'' <math>(\mathrm{eof})</math> markers, this allows for only one digit of significant computation. | |
− | |||
− | |||
− | |||
− | + | To translate <math>\mathrm{Stunt}(2)</math> into propositional form we use the following collection of basic propositions, boolean variables, or logical features, depending on what one prefers to call them: | |
− | + | The basic propositions for describing the ''present state function'' <math>\mathrm{QF} : P \to Q</math> are these: | |
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | " | + | | |
− | + | <math>\begin{matrix} | |
+ | \texttt{p0\_q\#}, & \texttt{p0\_q*}, & \texttt{p0\_q0}, & \texttt{p0\_q1}, | ||
+ | \\[6pt] | ||
+ | \texttt{p1\_q\#}, & \texttt{p1\_q*}, & \texttt{p1\_q0}, & \texttt{p1\_q1}, | ||
+ | \\[6pt] | ||
+ | \texttt{p2\_q\#}, & \texttt{p2\_q*}, & \texttt{p2\_q0}, & \texttt{p2\_q1}, | ||
+ | \\[6pt] | ||
+ | \texttt{p3\_q\#}, & \texttt{p3\_q*}, & \texttt{p3\_q0}, & \texttt{p3\_q1}. | ||
+ | \end{matrix}</math> | ||
+ | |} | ||
− | + | The proposition of the form <math>\texttt{pi\_qj}</math> says: | |
− | |||
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | | At the point-in-time <math>p_i,\!</math> the finite state machine <math>\mathrm{M}</math> is in the state <math>q_j.\!</math> | ||
+ | |} | ||
− | + | The basic propositions for describing the ''present register function'' <math>\mathrm{RF} : P \to R</math> are these: | |
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | " | + | | |
− | + | <math>\begin{matrix} | |
+ | \texttt{p0\_r0}, & \texttt{p0\_r1}, & \texttt{p0\_r2}, & \texttt{p0\_r3}, | ||
+ | \\[6pt] | ||
+ | \texttt{p1\_r0}, & \texttt{p1\_r1}, & \texttt{p1\_r2}, & \texttt{p1\_r3}, | ||
+ | \\[6pt] | ||
+ | \texttt{p2\_r0}, & \texttt{p2\_r1}, & \texttt{p2\_r2}, & \texttt{p2\_r3}, | ||
+ | \\[6pt] | ||
+ | \texttt{p3\_r0}, & \texttt{p3\_r1}, & \texttt{p3\_r2}, & \texttt{p3\_r3}. | ||
+ | \end{matrix}</math> | ||
+ | |} | ||
− | + | The proposition of the form <math>\texttt{pi\_rj}</math> says: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | | At the point-in-time <math>p_i,\!</math> the tape head <math>\mathrm{H}</math> is on the tape cell <math>r_j.\!</math> | ||
+ | |} | ||
− | + | The basic propositions for describing the ''present symbol function'' <math>\mathrm{SF} : P \to (R \to S)</math> are these: | |
− | |||
− | </ | ||
− | == | + | {| align="center" cellpadding="8" width="90%" |
+ | | | ||
+ | <math>\begin{matrix} | ||
+ | \texttt{p0\_r0\_s\#}, & \texttt{p0\_r0\_s*}, & \texttt{p0\_r0\_s0}, & \texttt{p0\_r0\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p0\_r1\_s\#}, & \texttt{p0\_r1\_s*}, & \texttt{p0\_r1\_s0}, & \texttt{p0\_r1\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p0\_r2\_s\#}, & \texttt{p0\_r2\_s*}, & \texttt{p0\_r2\_s0}, & \texttt{p0\_r2\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p0\_r3\_s\#}, & \texttt{p0\_r3\_s*}, & \texttt{p0\_r3\_s0}, & \texttt{p0\_r3\_s1}, | ||
+ | \\[12pt] | ||
+ | \texttt{p1\_r0\_s\#}, & \texttt{p1\_r0\_s*}, & \texttt{p1\_r0\_s0}, & \texttt{p1\_r0\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p1\_r1\_s\#}, & \texttt{p1\_r1\_s*}, & \texttt{p1\_r1\_s0}, & \texttt{p1\_r1\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p1\_r2\_s\#}, & \texttt{p1\_r2\_s*}, & \texttt{p1\_r2\_s0}, & \texttt{p1\_r2\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p1\_r3\_s\#}, & \texttt{p1\_r3\_s*}, & \texttt{p1\_r3\_s0}, & \texttt{p1\_r3\_s1}, | ||
+ | \\[12pt] | ||
+ | \texttt{p2\_r0\_s\#}, & \texttt{p2\_r0\_s*}, & \texttt{p2\_r0\_s0}, & \texttt{p2\_r0\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p2\_r1\_s\#}, & \texttt{p2\_r1\_s*}, & \texttt{p2\_r1\_s0}, & \texttt{p2\_r1\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p2\_r2\_s\#}, & \texttt{p2\_r2\_s*}, & \texttt{p2\_r2\_s0}, & \texttt{p2\_r2\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p2\_r3\_s\#}, & \texttt{p2\_r3\_s*}, & \texttt{p2\_r3\_s0}, & \texttt{p2\_r3\_s1}, | ||
+ | \\[12pt] | ||
+ | \texttt{p3\_r0\_s\#}, & \texttt{p3\_r0\_s*}, & \texttt{p3\_r0\_s0}, & \texttt{p3\_r0\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p3\_r1\_s\#}, & \texttt{p3\_r1\_s*}, & \texttt{p3\_r1\_s0}, & \texttt{p3\_r1\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p3\_r2\_s\#}, & \texttt{p3\_r2\_s*}, & \texttt{p3\_r2\_s0}, & \texttt{p3\_r2\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p3\_r3\_s\#}, & \texttt{p3\_r3\_s*}, & \texttt{p3\_r3\_s0}, & \texttt{p3\_r3\_s1}. | ||
+ | \end{matrix}</math> | ||
+ | |} | ||
− | < | + | The proposition of the form <math>\texttt{pi\_rj\_sk}</math> says: |
− | |||
− | |||
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | | At the point-in-time <math>p_i,\!</math> the tape cell <math>r_j\!</math> bears the mark <math>s_k.\!</math> | ||
+ | |} | ||
− | + | ===Initial Conditions=== | |
− | |||
− | |||
− | + | Given but a single free square on the tape, there are just two different sets of initial conditions for <math>\mathrm{Stunt}(2),</math> the finite approximation to the parity turing machine that we are presently considering. | |
− | + | ====Initial Conditions for Tape Input "0"==== | |
− | + | The following conjunction of 5 basic propositions describes the initial conditions when <math>\mathrm{Stunt}(2)</math> is started with an input of "0" in its free square: | |
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | + | <math>\begin{array}{l} | |
− | + | \texttt{p0\_q0} | |
− | + | \\ \\ | |
− | + | \texttt{p0\_r1} | |
− | + | \\ \\ | |
− | + | \texttt{p0\_r0\_s\#} | |
− | + | \\ | |
+ | \texttt{p0\_r1\_s0} | ||
+ | \\ | ||
+ | \texttt{p0\_r2\_s\#} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | This conjunction of basic propositions may be read as follows: | |
− | |||
− | |||
− | + | {| align="center" cellpadding=8" width="90%" | |
+ | | | ||
+ | <p>At time <math>p_0,\!</math> machine <math>\mathrm{M}</math> is in the state <math>q_0,\!</math></p> | ||
+ | <p>At time <math>p_0,\!</math> scanner <math>\mathrm{H}</math> is reading cell <math>r_1,\!</math></p> | ||
+ | <p>At time <math>p_0,\!</math> cell <math>r_0\!</math> contains the symbol <math>\texttt{\#},</math></p> | ||
+ | <p>At time <math>p_0,\!</math> cell <math>r_1\!</math> contains the symbol <math>\texttt{0},</math></p> | ||
+ | <p>At time <math>p_0,\!</math> cell <math>r_2\!</math> contains the symbol <math>\texttt{\#}.</math></p> | ||
+ | |} | ||
− | + | ====Initial Conditions for Tape Input "1"==== | |
− | + | The following conjunction of 5 basic propositions describes the initial conditions when <math>\mathrm{Stunt}(2)</math> is started with an input of "1" in its free square: | |
− | + | ||
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | | | ||
+ | <math>\begin{array}{l} | ||
+ | \texttt{p0\_q0} | ||
+ | \\ \\ | ||
+ | \texttt{p0\_r1} | ||
+ | \\ \\ | ||
+ | \texttt{p0\_r0\_s\#} | ||
+ | \\ | ||
+ | \texttt{p0\_r1\_s1} | ||
+ | \\ | ||
+ | \texttt{p0\_r2\_s\#} | ||
+ | \end{array}</math> | ||
+ | |} | ||
This conjunction of basic propositions may be read as follows: | This conjunction of basic propositions may be read as follows: | ||
− | + | {| align="center" cellpadding=8" width="90%" | |
− | + | | | |
− | + | <p>At time <math>p_0,\!</math> machine <math>\mathrm{M}</math> is in the state <math>q_0,\!</math></p> | |
− | + | <p>At time <math>p_0,\!</math> scanner <math>\mathrm{H}</math> is reading cell <math>r_1,\!</math></p> | |
− | + | <p>At time <math>p_0,\!</math> cell <math>r_0\!</math> contains the symbol <math>\texttt{\#},</math></p> | |
− | </ | + | <p>At time <math>p_0,\!</math> cell <math>r_1\!</math> contains the symbol <math>\texttt{1},</math></p> |
+ | <p>At time <math>p_0,\!</math> cell <math>r_2\!</math> contains the symbol <math>\texttt{\#}.</math></p> | ||
+ | |} | ||
− | == | + | ===Propositional Program=== |
− | + | A complete description of <math>\mathrm{Stunt}(2)</math> in propositional form is obtained by conjoining one of the above choices for initial conditions with all of the following sets of propositions, that serve in effect as a simple type of ''declarative program'', telling us all that we need to know about the anatomy and behavior of the truncated TM in question. | |
− | A complete description of Stunt(2) in propositional form is obtained by | ||
− | conjoining one of the above choices for initial conditions with all of | ||
− | the following sets of propositions, that serve in effect as a simple | ||
− | type of | ||
− | about the anatomy and behavior of the truncated TM in question. | ||
− | Mediate Conditions | + | ====Mediate Conditions==== |
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
+ | <math>\begin{array}{l} | ||
+ | \texttt{(~p0\_q\#~(~p1\_q\#~))} | ||
+ | \\ | ||
+ | \texttt{(~p0\_q*~(~p1\_q*~))} | ||
+ | \\ \\ | ||
+ | \texttt{(~p1\_q\#~(~p2\_q\#~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q*~(~p2\_q*~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | ====Terminal Conditions==== | |
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | | | ||
+ | <math>\begin{array}{l} | ||
+ | \texttt{((~p2\_q\#~)(~p2\_q*~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | ====State Partition==== | |
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | | | ||
+ | <math>\begin{array}{l} | ||
+ | \texttt{((~p0\_q0~),(~p0\_q1~),(~p0\_q\#~),(~p0\_q*~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_q0~),(~p1\_q1~),(~p1\_q\#~),(~p1\_q*~))} | ||
+ | \\ | ||
+ | \texttt{((~p2\_q0~),(~p2\_q1~),(~p2\_q\#~),(~p2\_q*~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | ====Register Partition==== | |
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | | | ||
+ | <math>\begin{array}{l} | ||
+ | \texttt{((~p0\_r0~),(~p0\_r1~),(~p0\_r2~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r0~),(~p1\_r1~),(~p1\_r2~))} | ||
+ | \\ | ||
+ | \texttt{((~p2\_r0~),(~p2\_r1~),(~p2\_r2~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | ====Symbol Partition==== | |
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | | | ||
+ | <math>\begin{array}{l} | ||
+ | \texttt{((~p0\_r0\_s0~),(~p0\_r0\_s1~),(~p0\_r0\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{((~p0\_r1\_s0~),(~p0\_r1\_s1~),(~p0\_r1\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{((~p0\_r2\_s0~),(~p0\_r2\_s1~),(~p0\_r2\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{((~p1\_r0\_s0~),(~p1\_r0\_s1~),(~p1\_r0\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r1\_s0~),(~p1\_r1\_s1~),(~p1\_r1\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r2\_s0~),(~p1\_r2\_s1~),(~p1\_r2\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{((~p2\_r0\_s0~),(~p2\_r0\_s1~),(~p2\_r0\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{((~p2\_r1\_s0~),(~p2\_r1\_s1~),(~p2\_r1\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{((~p2\_r2\_s0~),(~p2\_r2\_s1~),(~p2\_r2\_s\#~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | ====Interaction Conditions==== | |
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | + | <math>\begin{array}{l} | |
− | + | \texttt{((~p0\_r0~) ~p0\_r0\_s0~ (~p1\_r0\_s0~))} | |
− | + | \\ | |
− | + | \texttt{((~p0\_r0~) ~p0\_r0\_s1~ (~p1\_r0\_s1~))} | |
− | + | \\ | |
+ | \texttt{((~p0\_r0~) ~p0\_r0\_s\#~ (~p1\_r0\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{((~p0\_r1~) ~p0\_r1\_s0~ (~p1\_r1\_s0~))} | ||
+ | \\ | ||
+ | \texttt{((~p0\_r1~) ~p0\_r1\_s1~ (~p1\_r1\_s1~))} | ||
+ | \\ | ||
+ | \texttt{((~p0\_r1~) ~p0\_r1\_s\#~ (~p1\_r1\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{((~p0\_r2~) ~p0\_r2\_s0~ (~p1\_r2\_s0~))} | ||
+ | \\ | ||
+ | \texttt{((~p0\_r2~) ~p0\_r2\_s1~ (~p1\_r2\_s1~))} | ||
+ | \\ | ||
+ | \texttt{((~p0\_r2~) ~p0\_r2\_s\#~ (~p1\_r2\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{((~p1\_r0~) ~p1\_r0\_s0~ (~p2\_r0\_s0~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r0~) ~p1\_r0\_s1~ (~p2\_r0\_s1~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r0~) ~p1\_r0\_s\#~ (~p2\_r0\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{((~p1\_r1~) ~p1\_r1\_s0~ (~p2\_r1\_s0~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r1~) ~p1\_r1\_s1~ (~p2\_r1\_s1~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r1~) ~p1\_r1\_s\#~ (~p2\_r1\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{((~p1\_r2~) ~p1\_r2\_s0~ (~p2\_r2\_s0~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r2~) ~p1\_r2\_s1~ (~p2\_r2\_s1~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r2~) ~p1\_r2\_s\#~ (~p2\_r2\_s\#~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | ====Transition Relations==== | |
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | + | <math>\begin{array}{l} | |
− | + | \texttt{(~p0\_q0~~p0\_r1~~p0\_r1\_s0~~(~p1\_q0~~p1\_r2~~p1\_r1\_s0~))} | |
− | + | \\ | |
− | + | \texttt{(~p0\_q0~~p0\_r1~~p0\_r1\_s1~~(~p1\_q1~~p1\_r2~~p1\_r1\_s1~))} | |
− | + | \\ | |
− | + | \texttt{(~p0\_q0~~p0\_r1~~p0\_r1\_s\#~~(~p1\_q\#~~p1\_r0~~p1\_r1\_s\#~))} | |
− | + | \\ | |
− | + | \texttt{(~p0\_q0~~p0\_r2~~p0\_r2\_s\#~~(~p1\_q\#~~p1\_r1~~p1\_r2\_s\#~))} | |
− | + | \\ \\ | |
− | + | \texttt{(~p0\_q1~~p0\_r1~~p0\_r1\_s0~~(~p1\_q1~~p1\_r2~~p1\_r1\_s0~))} | |
− | + | \\ | |
− | + | \texttt{(~p0\_q1~~p0\_r1~~p0\_r1\_s1~~(~p1\_q0~~p1\_r2~~p1\_r1\_s1~))} | |
− | + | \\ | |
− | + | \texttt{(~p0\_q1~~p0\_r1~~p0\_r1\_s\#~~(~p1\_q*~~p1\_r0~~p1\_r1\_s\#~))} | |
− | + | \\ | |
− | + | \texttt{(~p0\_q1~~p0\_r2~~p0\_r2\_s\#~~(~p1\_q*~~p1\_r1~~p1\_r2\_s\#~))} | |
− | + | \\ \\ | |
+ | \texttt{(~p1\_q0~~p1\_r1~~p1\_r1\_s0~~(~p2\_q0~~p2\_r2~~p2\_r1\_s0~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q0~~p1\_r1~~p1\_r1\_s1~~(~p2\_q1~~p2\_r2~~p2\_r1\_s1~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q0~~p1\_r1~~p1\_r1\_s\#~~(~p2\_q\#~~p2\_r0~~p2\_r1\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q0~~p1\_r2~~p1\_r2\_s\#~~(~p2\_q\#~~p2\_r1~~p2\_r2\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{(~p1\_q1~~p1\_r1~~p1\_r1\_s0~~(~p2\_q1~~p2\_r2~~p2\_r1\_s0~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q1~~p1\_r1~~p1\_r1\_s1~~(~p2\_q0~~p2\_r2~~p2\_r1\_s1~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q1~~p1\_r1~~p1\_r1\_s\#~~(~p2\_q*~~p2\_r0~~p2\_r1\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q1~~p1\_r2~~p1\_r2\_s\#~~(~p2\_q*~~p2\_r1~~p2\_r2\_s\#~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | ===Interpretation of the Propositional Program=== | |
− | |||
− | |||
− | + | Let us now run through the propositional specification of <math>\mathrm{Stunt}(2),</math> our truncated TM, and paraphrase what it says in ordinary language. | |
− | + | ====Mediate Conditions==== | |
− | |||
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | + | <math>\begin{array}{l} | |
− | + | \texttt{(~p0\_q\#~(~p1\_q\#~))} | |
+ | \\ | ||
+ | \texttt{(~p0\_q*~(~p1\_q*~))} | ||
+ | \\ \\ | ||
+ | \texttt{(~p1\_q\#~(~p2\_q\#~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q*~(~p2\_q*~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | In the interpretation of the cactus language for propositional logic that we are using here, an expression of the form <math>\texttt{(p(q))}</math> expresses a ''conditional'', an ''implication'', or an ''if-then'' proposition, commonly read in one of the following ways: | |
− | |||
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | + | <math>\begin{array}{l} | |
− | + | \mathrm{not}~ p ~\mathrm{without}~ q | |
− | </ | + | \\[4pt] |
+ | p ~\mathrm{implies}~ q | ||
+ | \\[4pt] | ||
+ | \mathrm{if}~ p ~\mathrm{then}~ q | ||
+ | \\[4pt] | ||
+ | p \Rightarrow q | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | A text string expression of the form <math>\texttt{(p(q))}</math> corresponds to a graph-theoretic data-structure of the following form: | |
− | < | + | <br> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
+ | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
| | | | | | ||
Line 2,084: | Line 2,373: | ||
| ( p ( q )) | | | ( p ( q )) | | ||
o---------------------------------------o | o---------------------------------------o | ||
+ | </pre> | ||
+ | |} | ||
+ | |||
+ | <br> | ||
Taken together, the Mediate Conditions state the following: | Taken together, the Mediate Conditions state the following: | ||
− | + | {| align="center" cellpadding=8" width="90%" | |
− | + | | | |
− | + | <p>If <math>\mathrm{M}</math> at <math>p_0\!</math> is in state <math>q_\#,\!</math> then <math>\mathrm{M}</math> at <math>p_1\!</math> is in state <math>q_\#,\!</math> and</p> | |
− | + | ||
− | </ | + | <p>If <math>\mathrm{M}</math> at <math>p_0\!</math> is in state <math>q_*,\!</math> then <math>\mathrm{M}</math> at <math>p_1\!</math> is in state <math>q_*,\!</math> and</p> |
− | + | <p>If <math>\mathrm{M}</math> at <math>p_1\!</math> is in state <math>q_\#,\!</math> then <math>\mathrm{M}</math> at <math>p_2\!</math> is in state <math>q_\#,\!</math> and</p> | |
− | < | + | <p>If <math>\mathrm{M}</math> at <math>p_1\!</math> is in state <math>q_*,\!</math> then <math>\mathrm{M}</math> at <math>p_2\!</math> is in state <math>q_*.\!</math></p> |
− | + | |} | |
− | Terminal Conditions | + | ====Terminal Conditions==== |
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | | | ||
+ | <math>\begin{array}{l} | ||
+ | \texttt{((~p2\_q\#~)(~p2\_q*~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | In cactus syntax, an expression of the form | + | In cactus syntax, an expression of the form <math>\texttt{((p)(q))}</math> expresses the disjunction <math>p ~\mathrm{or}~ q.</math> The corresponding cactus graph, here just a tree, has the following shape: |
− | expresses the disjunction | + | |
− | cactus graph, here just a tree, has the following shape: | + | <br> |
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
+ | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
| | | | | | ||
Line 2,118: | Line 2,419: | ||
| ((p) (q)) | | | ((p) (q)) | | ||
o---------------------------------------o | o---------------------------------------o | ||
+ | </pre> | ||
+ | |} | ||
+ | |||
+ | <br> | ||
In effect, the Terminal Conditions state the following: | In effect, the Terminal Conditions state the following: | ||
− | + | {| align="center" cellpadding=8" width="90%" | |
− | + | | | |
− | </ | + | <p>At time <math>p_2\!</math> machine <math>\mathrm{M}</math> is in state <math>q_\#,\!</math> or</p> |
+ | <p>At time <math>p_2\!</math> machine <math>\mathrm{M}</math> is in state <math>q_*.\!</math></p> | ||
+ | |} | ||
− | == | + | ====State Partition==== |
− | < | + | {| align="center" cellpadding="8" width="90%" |
− | + | | | |
+ | <math>\begin{array}{l} | ||
+ | \texttt{((~p0\_q0~),(~p0\_q1~),(~p0\_q\#~),(~p0\_q*~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_q0~),(~p1\_q1~),(~p1\_q\#~),(~p1\_q*~))} | ||
+ | \\ | ||
+ | \texttt{((~p2\_q0~),(~p2\_q1~),(~p2\_q\#~),(~p2\_q*~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | In cactus syntax, an expression of the form <math>\texttt{((} e_1 \texttt{),(} e_2 \texttt{),(} \ldots \texttt{),(} e_k \texttt{))}\!</math> expresses a statement to the effect that ''exactly one of the expressions <math>e_j\!</math> is true, for <math>j = 1 ~\mathit{to}~ k.</math>'' Expressions of this form are called ''universal partition'' expressions, and the corresponding ''painted and rooted cactus'' (PARC) has the following shape: | |
− | + | <br> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
+ | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
| | | | | | ||
Line 2,160: | Line 2,471: | ||
| ((e_1),(e_2),(...),(e_k)) | | | ((e_1),(e_2),(...),(e_k)) | | ||
o---------------------------------------o | o---------------------------------------o | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
+ | |} | ||
− | + | <br> | |
− | < | + | The State Partition segment of the propositional program consists of three universal partition expressions, taken in conjunction expressing the condition that <math>\mathrm{M}</math> has to be in one and only one of its states at each point in time under consideration. In short, we have the constraint: |
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | | | ||
+ | <p>At each of the points in time <math>p_i,\!</math> for <math>i\!</math> in the set <math>\{ 0, 1, 2 \},\!</math></p> | ||
− | + | <p><math>\mathrm{M}</math> can be in exactly one state <math>q_j,\!</math> for <math>j\!</math> in the set <math>\{ 0, 1, \#, * \}.\!</math></p> | |
− | + | |} | |
− | |||
− | + | ====Register Partition==== | |
− | |||
− | |||
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | </ | + | <math>\begin{array}{l} |
+ | \texttt{((~p0\_r0~),(~p0\_r1~),(~p0\_r2~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r0~),(~p1\_r1~),(~p1\_r2~))} | ||
+ | \\ | ||
+ | \texttt{((~p2\_r0~),(~p2\_r1~),(~p2\_r2~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | The Register Partition segment of the propositional program consists of three universal partition expressions, taken in conjunction saying that the read head <math>\mathrm{H}</math> must be reading one and only one of the registers or tape cells available to it at each of the points in time under consideration. In sum: | |
− | < | + | {| align="center" cellpadding="8" width="90%" |
− | + | | | |
+ | <p>At each of the points in time <math>p_i,\!</math> for <math>i = 0, 1, 2,\!</math></p> | ||
− | + | <p><math>\mathrm{H}</math> is reading exactly one cell <math>r_j,\!</math> for <math>j = 0, 1, 2.\!</math> | |
+ | |} | ||
− | + | ====Symbol Partition==== | |
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | + | <math>\begin{array}{l} | |
+ | \texttt{((~p0\_r0\_s0~),(~p0\_r0\_s1~),(~p0\_r0\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{((~p0\_r1\_s0~),(~p0\_r1\_s1~),(~p0\_r1\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{((~p0\_r2\_s0~),(~p0\_r2\_s1~),(~p0\_r2\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{((~p1\_r0\_s0~),(~p1\_r0\_s1~),(~p1\_r0\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r1\_s0~),(~p1\_r1\_s1~),(~p1\_r1\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r2\_s0~),(~p1\_r2\_s1~),(~p1\_r2\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{((~p2\_r0\_s0~),(~p2\_r0\_s1~),(~p2\_r0\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{((~p2\_r1\_s0~),(~p2\_r1\_s1~),(~p2\_r1\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{((~p2\_r2\_s0~),(~p2\_r2\_s1~),(~p2\_r2\_s\#~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | The Symbol Partition segment of the propositional program for <math>\mathrm{Stunt}(2)</math> consists of nine universal partition expressions, taken in conjunction stipulating that there has to be one and only one symbol in each of the registers at each point in time under consideration. In short, we have: | |
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | + | <p>At each of the points in time <math>p_i,\!</math> for <math>i\!</math> in <math>\{ 0, 1, 2 \},\!</math></p> | |
− | |||
− | + | <p>in each of the tape registers <math>r_j,\!</math> for <math>j\!</math> in <math>\{ 0, 1, 2 \},\!</math></p> | |
− | |||
− | |||
− | </ | ||
− | + | <p>there can be exactly one sign <math>s_k,\!</math> for <math>k\!</math> in <math>\{ 0, 1, \# \}.\!</math></p> | |
+ | |} | ||
− | + | ====Interaction Conditions==== | |
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | + | <math>\begin{array}{l} | |
− | + | \texttt{((~p0\_r0~) ~p0\_r0\_s0~ (~p1\_r0\_s0~))} | |
− | + | \\ | |
− | + | \texttt{((~p0\_r0~) ~p0\_r0\_s1~ (~p1\_r0\_s1~))} | |
− | + | \\ | |
− | + | \texttt{((~p0\_r0~) ~p0\_r0\_s\#~ (~p1\_r0\_s\#~))} | |
− | + | \\ \\ | |
− | + | \texttt{((~p0\_r1~) ~p0\_r1\_s0~ (~p1\_r1\_s0~))} | |
− | + | \\ | |
− | + | \texttt{((~p0\_r1~) ~p0\_r1\_s1~ (~p1\_r1\_s1~))} | |
− | + | \\ | |
− | + | \texttt{((~p0\_r1~) ~p0\_r1\_s\#~ (~p1\_r1\_s\#~))} | |
− | + | \\ \\ | |
− | + | \texttt{((~p0\_r2~) ~p0\_r2\_s0~ (~p1\_r2\_s0~))} | |
− | + | \\ | |
− | + | \texttt{((~p0\_r2~) ~p0\_r2\_s1~ (~p1\_r2\_s1~))} | |
− | + | \\ | |
− | + | \texttt{((~p0\_r2~) ~p0\_r2\_s\#~ (~p1\_r2\_s\#~))} | |
− | + | \\ \\ | |
− | + | \texttt{((~p1\_r0~) ~p1\_r0\_s0~ (~p2\_r0\_s0~))} | |
− | + | \\ | |
− | + | \texttt{((~p1\_r0~) ~p1\_r0\_s1~ (~p2\_r0\_s1~))} | |
− | + | \\ | |
+ | \texttt{((~p1\_r0~) ~p1\_r0\_s\#~ (~p2\_r0\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{((~p1\_r1~) ~p1\_r1\_s0~ (~p2\_r1\_s0~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r1~) ~p1\_r1\_s1~ (~p2\_r1\_s1~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r1~) ~p1\_r1\_s\#~ (~p2\_r1\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{((~p1\_r2~) ~p1\_r2\_s0~ (~p2\_r2\_s0~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r2~) ~p1\_r2\_s1~ (~p2\_r2\_s1~))} | ||
+ | \\ | ||
+ | \texttt{((~p1\_r2~) ~p1\_r2\_s\#~ (~p2\_r2\_s\#~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | In briefest terms, the Interaction Conditions | + | In briefest terms, the Interaction Conditions simply express the circumstance that the mark on a tape cell cannot change between two points in time unless the tape head is over the cell in question at the initial one of those points in time. All that we have to do is to see how they manage to say this. |
− | the circumstance that the mark on a tape cell cannot change | ||
− | between two points in time unless the tape head is over the | ||
− | cell in question at the initial one of those points in time. | ||
− | All that we have to do is to see how they manage to say this. | ||
Consider a cactus expression of the following form: | Consider a cactus expression of the following form: | ||
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | | | ||
+ | <math>\begin{array}{l} | ||
+ | \texttt{((}~ p_i\_r_j ~\texttt{)}~ p_i\_r_j\_s_k ~\texttt{(}~ p_{i+1}\_r_j\_s_k ~\texttt{))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
This expression has the corresponding cactus graph: | This expression has the corresponding cactus graph: | ||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
+ | <pre> | ||
o---------------------------------------o | o---------------------------------------o | ||
| | | | | | ||
Line 2,274: | Line 2,612: | ||
| | | | | | ||
o---------------------------------------o | o---------------------------------------o | ||
+ | </pre> | ||
+ | |} | ||
A propositional expression of this form can be read as follows: | A propositional expression of this form can be read as follows: | ||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | |<math>\mathrm{If}</math> | |
− | + | |- | |
+ | | At the time <math>p_i,\!</math> the tape cell <math>r_j\!</math> bears the mark <math>s_k,\!</math> | ||
+ | |- | ||
+ | | <math>\mathrm{But}</math> it is not the case that: | ||
+ | |- | ||
+ | | At the time <math>p_i,\!</math> the tape head is on the tape cell <math>r_j,\!</math> | ||
+ | |- | ||
+ | | <math>\mathrm{Then}</math> | ||
+ | |- | ||
+ | | At the time <math>p_{i+1},\!</math> the tape cell <math>r_j\!</math> bears the mark <math>s_k.\!</math> | ||
+ | |} | ||
− | + | The eighteen clauses of the Interaction Conditions simply impose one such constraint on symbol changes for each combination of the times <math>p_0, p_1,\!</math> registers <math>r_0, r_1, r_2,\!</math> and symbols <math>s_0, s_1, s_\#.\!</math> | |
− | + | ====Transition Relations==== | |
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | | | ||
+ | <math>\begin{array}{l} | ||
+ | \texttt{(~p0\_q0~~p0\_r1~~p0\_r1\_s0~~(~p1\_q0~~p1\_r2~~p1\_r1\_s0~))} | ||
+ | \\ | ||
+ | \texttt{(~p0\_q0~~p0\_r1~~p0\_r1\_s1~~(~p1\_q1~~p1\_r2~~p1\_r1\_s1~))} | ||
+ | \\ | ||
+ | \texttt{(~p0\_q0~~p0\_r1~~p0\_r1\_s\#~~(~p1\_q\#~~p1\_r0~~p1\_r1\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{(~p0\_q0~~p0\_r2~~p0\_r2\_s\#~~(~p1\_q\#~~p1\_r1~~p1\_r2\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{(~p0\_q1~~p0\_r1~~p0\_r1\_s0~~(~p1\_q1~~p1\_r2~~p1\_r1\_s0~))} | ||
+ | \\ | ||
+ | \texttt{(~p0\_q1~~p0\_r1~~p0\_r1\_s1~~(~p1\_q0~~p1\_r2~~p1\_r1\_s1~))} | ||
+ | \\ | ||
+ | \texttt{(~p0\_q1~~p0\_r1~~p0\_r1\_s\#~~(~p1\_q*~~p1\_r0~~p1\_r1\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{(~p0\_q1~~p0\_r2~~p0\_r2\_s\#~~(~p1\_q*~~p1\_r1~~p1\_r2\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{(~p1\_q0~~p1\_r1~~p1\_r1\_s0~~(~p2\_q0~~p2\_r2~~p2\_r1\_s0~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q0~~p1\_r1~~p1\_r1\_s1~~(~p2\_q1~~p2\_r2~~p2\_r1\_s1~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q0~~p1\_r1~~p1\_r1\_s\#~~(~p2\_q\#~~p2\_r0~~p2\_r1\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q0~~p1\_r2~~p1\_r2\_s\#~~(~p2\_q\#~~p2\_r1~~p2\_r2\_s\#~))} | ||
+ | \\ \\ | ||
+ | \texttt{(~p1\_q1~~p1\_r1~~p1\_r1\_s0~~(~p2\_q1~~p2\_r2~~p2\_r1\_s0~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q1~~p1\_r1~~p1\_r1\_s1~~(~p2\_q0~~p2\_r2~~p2\_r1\_s1~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q1~~p1\_r1~~p1\_r1\_s\#~~(~p2\_q*~~p2\_r0~~p2\_r1\_s\#~))} | ||
+ | \\ | ||
+ | \texttt{(~p1\_q1~~p1\_r2~~p1\_r2\_s\#~~(~p2\_q*~~p2\_r1~~p2\_r2\_s\#~))} | ||
+ | \end{array}</math> | ||
+ | |} | ||
− | + | The Transition Relation segment of the propositional program for <math>\mathrm{Stunt}(2)</math> consists of sixteen implication statements with complex antecedents and consequents. Taken together, these give propositional expression to the TM Figure and Table that were given at the outset. | |
− | + | Just by way of a single example, consider the clause: | |
− | |||
− | |||
− | |||
− | == | + | {| align="center" cellpadding="8" width="90%" |
+ | | <math>\texttt{(~p0\_q0~~p0\_r1~~p0\_r1\_s1~~(~p1\_q1~~p1\_r2~~p1\_r1\_s1~))}</math> | ||
+ | |} | ||
− | + | This complex implication statement can be read to say: | |
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
+ | |<math>\mathrm{If}</math> | ||
+ | |- | ||
+ | | At the time <math>p_0,\!</math> the machine <math>\mathrm{M}</math> is in the state <math>q_0,\!</math> and | ||
+ | |- | ||
+ | | At the time <math>p_0,\!</math> the scanner <math>\mathrm{H}</math> is reading cell <math>r_1,\!</math> and | ||
+ | |- | ||
+ | | At the time <math>p_0,\!</math> the tape cell <math>r_1\!</math> contains a <math>\texttt{1},</math> | ||
+ | |- | ||
+ | | <math>\mathrm{Then}</math> | ||
+ | |- | ||
+ | | At the time <math>p_1,\!</math> the machine <math>\mathrm{M}</math> is in the state <math>q_1,\!</math> and | ||
+ | |- | ||
+ | | At the time <math>p_1,\!</math> the scanner <math>\mathrm{H}</math> is reading cell <math>r_2,\!</math> and | ||
+ | |- | ||
+ | | At the time <math>p_1,\!</math> the tape cell <math>r_1\!</math> contains a <math>\texttt{1}.</math> | ||
+ | |} | ||
− | + | ===Computation=== | |
− | |||
− | |||
− | |||
− | + | The propositional program for <math>\mathrm{Stunt}(2)</math> uses the following set | |
− | + | of <math>9 + 12 + 36 = 57\!</math> basic propositions or boolean variables: | |
− | |||
− | |||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | + | <math>\begin{matrix} | |
− | + | \texttt{p0\_r0}, & \texttt{p0\_r1}, & \texttt{p0\_r2}, | |
+ | \\[6pt] | ||
+ | \texttt{p1\_r0}, & \texttt{p1\_r1}, & \texttt{p1\_r2}, | ||
+ | \\[6pt] | ||
+ | \texttt{p2\_r0}, & \texttt{p2\_r1}, & \texttt{p2\_r2}. | ||
+ | \end{matrix}</math> | ||
+ | |} | ||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | + | <math>\begin{matrix} | |
− | + | \texttt{p0\_q\#}, & \texttt{p0\_q*}, & \texttt{p0\_q0}, & \texttt{p0\_q1}, | |
+ | \\[6pt] | ||
+ | \texttt{p1\_q\#}, & \texttt{p1\_q*}, & \texttt{p1\_q0}, & \texttt{p1\_q1}, | ||
+ | \\[6pt] | ||
+ | \texttt{p2\_q\#}, & \texttt{p2\_q*}, & \texttt{p2\_q0}, & \texttt{p2\_q1}. | ||
+ | \end{matrix}</math> | ||
+ | |} | ||
− | + | {| align="center" cellpadding="8" width="90%" | |
− | + | | | |
− | + | <math>\begin{matrix} | |
− | + | \texttt{p0\_r0\_s\#}, & \texttt{p0\_r0\_s*}, & \texttt{p0\_r0\_s0}, & \texttt{p0\_r0\_s1}, | |
− | + | \\[4pt] | |
+ | \texttt{p0\_r1\_s\#}, & \texttt{p0\_r1\_s*}, & \texttt{p0\_r1\_s0}, & \texttt{p0\_r1\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p0\_r2\_s\#}, & \texttt{p0\_r2\_s*}, & \texttt{p0\_r2\_s0}, & \texttt{p0\_r2\_s1}, | ||
+ | \\[12pt] | ||
+ | \texttt{p1\_r0\_s\#}, & \texttt{p1\_r0\_s*}, & \texttt{p1\_r0\_s0}, & \texttt{p1\_r0\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p1\_r1\_s\#}, & \texttt{p1\_r1\_s*}, & \texttt{p1\_r1\_s0}, & \texttt{p1\_r1\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p1\_r2\_s\#}, & \texttt{p1\_r2\_s*}, & \texttt{p1\_r2\_s0}, & \texttt{p1\_r2\_s1}, | ||
+ | \\[12pt] | ||
+ | \texttt{p2\_r0\_s\#}, & \texttt{p2\_r0\_s*}, & \texttt{p2\_r0\_s0}, & \texttt{p2\_r0\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p2\_r1\_s\#}, & \texttt{p2\_r1\_s*}, & \texttt{p2\_r1\_s0}, & \texttt{p2\_r1\_s1}, | ||
+ | \\[4pt] | ||
+ | \texttt{p2\_r2\_s\#}, & \texttt{p2\_r2\_s*}, & \texttt{p2\_r2\_s0}, & \texttt{p2\_r2\_s1}. | ||
+ | \end{matrix}</math> | ||
+ | |} | ||
− | + | This means that the propositional program itself is nothing but a single proposition or boolean function of the form <math>p : \mathbb{B}^{57} \to \mathbb{B}.</math> | |
− | + | An assignment of boolean values to the above set of boolean variables is called an ''interpretation'' of the proposition <math>p,\!</math> and any interpretation of <math>p\!</math> that makes the proposition <math>p : \mathbb{B}^{57} \to \mathbb{B}</math> evaluate to <math>1\!</math> is referred to as a ''satisfying interpretation'' of the proposition <math>p.\!</math> Another way to specify interpretations, instead of giving them as bit vectors in <math>\mathbb{B}^{57}</math> and trying to remember some arbitrary ordering of variables, is to give them in the form of ''singular propositions'', that is, a conjunction of the form <math>e_1 \cdot \ldots \cdot e_{57}</math> where each <math>e_j\!</math> is either <math>v_j\!</math> or <math>\texttt{(} v_j \texttt{)},</math> that is, either the assertion or the negation of the boolean variable <math>{v_j},\!</math> as <math>j\!</math> runs from 1 to 57. Even more briefly, the same information can be communicated simply by giving the conjunction of the asserted variables, with the understanding that each of the others is negated. | |
− | + | A satisfying interpretation of the proposition <math>p\!</math> supplies us with all the information of a complete execution history for the corresponding program, and so all we have to do in order to get the output of the program <math>p\!</math> is to read off the proper part of the data from the expression of this interpretation. | |
− | + | ===Output=== | |
− | + | One component of the <math>\begin{smallmatrix}\mathrm{Theme~One}\end{smallmatrix}</math> program that I wrote some years ago finds all the satisfying interpretations of propositions expressed in cactus syntax. It's not a polynomial time algorithm, as you may guess, but it was just barely efficient enough to do this example in the 500 K of spare memory that I had on an old 286 PC in about 1989, so I will give you the actual outputs from those trials. | |
− | |||
− | |||
− | + | ====Output Conditions for Tape Input "0"==== | |
− | + | Let <math>p_0\!</math> be the proposition that we get by conjoining the proposition that describes the initial conditions for tape input "0" with the proposition that describes the truncated turing machine <math>\mathrm{Stunt}(2).</math> As it turns out, <math>p_0\!</math> has a single satisfying interpretation. This interpretation is expressible in the form of a singular proposition, which can in turn be indicated by its positive logical features, as shown in the following display: | |
− | |||
− | |||
− | </ | ||
− | + | <br> | |
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
<pre> | <pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
o-------------------------------------------------o | o-------------------------------------------------o | ||
| | | | | | ||
Line 2,439: | Line 2,788: | ||
| | | | | | ||
o-------------------------------------------------o | o-------------------------------------------------o | ||
+ | </pre> | ||
+ | |} | ||
+ | |||
+ | <br> | ||
The Output Conditions for Tape Input "0" can be read as follows: | The Output Conditions for Tape Input "0" can be read as follows: | ||
− | + | {| align="center" cellpadding=8" width="90%" | |
− | + | | | |
− | + | <p>At the time <math>p_0,\!</math> machine <math>\mathrm{M}</math> is in the state <math>q_0,\!</math> and</p> | |
− | + | <p>At the time <math>p_0,\!</math> scanner <math>\mathrm{H}</math> is reading cell <math>r_1,\!</math> and</p> | |
− | + | <p>At the time <math>p_0,\!</math> cell <math>r_0\!</math> contains the symbol <math>\texttt{\#},</math> and</p> | |
+ | <p>At the time <math>p_0,\!</math> cell <math>r_1\!</math> contains the symbol <math>\texttt{0},</math> and</p> | ||
+ | <p>At the time <math>p_0,\!</math> cell <math>r_2\!</math> contains the symbol <math>\texttt{\#},</math> and</p> | ||
+ | |- | ||
+ | | | ||
+ | <p>At the time <math>p_1,\!</math> machine <math>\mathrm{M}</math> is in the state <math>q_0,\!</math> and</p> | ||
+ | <p>At the time <math>p_1,\!</math> scanner <math>\mathrm{H}</math> is reading cell <math>r_2,\!</math> and</p> | ||
+ | <p>At the time <math>p_1,\!</math> cell <math>r_0\!</math> contains the symbol <math>\texttt{\#},</math> and</p> | ||
+ | <p>At the time <math>p_1,\!</math> cell <math>r_1\!</math> contains the symbol <math>\texttt{0},</math> and</p> | ||
+ | <p>At the time <math>p_1,\!</math> cell <math>r_2\!</math> contains the symbol <math>\texttt{\#},</math> and</p> | ||
+ | |- | ||
+ | | | ||
+ | <p>At the time <math>p_2,\!</math> machine <math>\mathrm{M}</math> is in the state <math>q_\#,\!</math> and</p> | ||
+ | <p>At the time <math>p_2,\!</math> scanner <math>\mathrm{H}</math> is reading cell <math>r_1,\!</math> and</p> | ||
+ | <p>At the time <math>p_2,\!</math> cell <math>r_0\!</math> contains the symbol <math>\texttt{\#},</math> and</p> | ||
+ | <p>At the time <math>p_2,\!</math> cell <math>r_1\!</math> contains the symbol <math>\texttt{0},</math> and</p> | ||
+ | <p>At the time <math>p_2,\!</math> cell <math>r_2\!</math> contains the symbol <math>\texttt{\#}.</math></p> | ||
+ | |} | ||
− | + | The output of <math>\mathrm{Stunt}(2)</math> being the symbol that rests under the tape head <math>\mathrm{H}</math> if and when the machine <math>\mathrm{M}</math> reaches one of its resting states, we get the result that <math>\mathrm{Parity}(0) = 0.</math> | |
− | |||
− | |||
− | |||
− | |||
− | + | ====Output Conditions for Tape Input "1"==== | |
− | |||
− | |||
− | |||
− | |||
− | + | Let <math>p_1\!</math> be the proposition that we get by conjoining the proposition that describes the initial conditions for tape input "1" with the proposition that describes the truncated turing machine <math>\mathrm{Stunt}(2).</math> As it turns out, <math>p_1\!</math> has a single satisfying interpretation. This interpretation is expressible in the form of a singular proposition, which can in turn be indicated by its positive logical features, as shown in the following display: | |
− | the tape | ||
− | its | ||
− | + | <br> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | {| align="center" border="0" cellpadding="10" | ||
+ | | | ||
+ | <pre> | ||
o-------------------------------------------------o | o-------------------------------------------------o | ||
| | | | | | ||
Line 2,493: | Line 2,848: | ||
| | | | | | ||
o-------------------------------------------------o | o-------------------------------------------------o | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
+ | |} | ||
− | + | <br> | |
− | + | The Output Conditions for Tape Input "1" can be read as follows: | |
− | |||
− | + | {| align="center" cellpadding=8" width="90%" | |
− | + | | | |
− | + | <p>At the time <math>p_0,\!</math> machine <math>\mathrm{M}</math> is in the state <math>q_0,\!</math> and</p> | |
− | + | <p>At the time <math>p_0,\!</math> scanner <math>\mathrm{H}</math> is reading cell <math>r_1,\!</math> and</p> | |
− | + | <p>At the time <math>p_0,\!</math> cell <math>r_0\!</math> contains the symbol <math>\texttt{\#},</math> and</p> | |
− | + | <p>At the time <math>p_0,\!</math> cell <math>r_1\!</math> contains the symbol <math>\texttt{1},</math> and</p> | |
− | + | <p>At the time <math>p_0,\!</math> cell <math>r_2\!</math> contains the symbol <math>\texttt{\#},</math> and</p> | |
− | + | |- | |
− | + | | | |
− | + | <p>At the time <math>p_1,\!</math> machine <math>\mathrm{M}</math> is in the state <math>q_1,\!</math> and</p> | |
− | + | <p>At the time <math>p_1,\!</math> scanner <math>\mathrm{H}</math> is reading cell <math>r_2,\!</math> and</p> | |
− | | | + | <p>At the time <math>p_1,\!</math> cell <math>r_0\!</math> contains the symbol <math>\texttt{\#},</math> and</p> |
− | + | <p>At the time <math>p_1,\!</math> cell <math>r_1\!</math> contains the symbol <math>\texttt{1},</math> and</p> | |
− | + | <p>At the time <math>p_1,\!</math> cell <math>r_2\!</math> contains the symbol <math>\texttt{\#},</math> and</p> | |
− | + | |- | |
− | + | | | |
− | + | <p>At the time <math>p_2,\!</math> machine <math>\mathrm{M}</math> is in the state <math>q_*,\!</math> and</p> | |
− | + | <p>At the time <math>p_2,\!</math> scanner <math>\mathrm{H}</math> is reading cell <math>r_1,\!</math> and</p> | |
− | + | <p>At the time <math>p_2,\!</math> cell <math>r_0\!</math> contains the symbol <math>\texttt{\#},</math> and</p> | |
− | + | <p>At the time <math>p_2,\!</math> cell <math>r_1\!</math> contains the symbol <math>\texttt{1},</math> and</p> | |
− | + | <p>At the time <math>p_2,\!</math> cell <math>r_2\!</math> contains the symbol <math>\texttt{\#}.</math></p> | |
− | + | |} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </ | ||
− | + | The output of <math>\mathrm{Stunt}(2)</math> being the symbol that rests under the tape head <math>\mathrm{H}</math> when and if the machine <math>\mathrm{M}</math> reaches one of its resting states, we get the result that <math>\mathrm{Parity}(1) = 1.</math> | |
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </ | ||
==Document History== | ==Document History== | ||
− | + | ===Ontology List : Feb–Mar 2004=== | |
− | |||
− | + | * http://suo.ieee.org/ontology/thrd2.html#05457 | |
+ | # http://suo.ieee.org/ontology/msg05457.html | ||
+ | # http://suo.ieee.org/ontology/msg05458.html | ||
+ | # http://suo.ieee.org/ontology/msg05459.html | ||
+ | # http://suo.ieee.org/ontology/msg05460.html | ||
+ | # http://suo.ieee.org/ontology/msg05461.html | ||
+ | # http://suo.ieee.org/ontology/msg05462.html | ||
+ | # http://suo.ieee.org/ontology/msg05463.html | ||
+ | # http://suo.ieee.org/ontology/msg05464.html | ||
+ | # http://suo.ieee.org/ontology/msg05465.html | ||
+ | # http://suo.ieee.org/ontology/msg05466.html | ||
+ | # http://suo.ieee.org/ontology/msg05467.html | ||
+ | # http://suo.ieee.org/ontology/msg05469.html | ||
+ | # http://suo.ieee.org/ontology/msg05470.html | ||
+ | # http://suo.ieee.org/ontology/msg05471.html | ||
+ | # http://suo.ieee.org/ontology/msg05472.html | ||
+ | # http://suo.ieee.org/ontology/msg05473.html | ||
+ | # http://suo.ieee.org/ontology/msg05474.html | ||
+ | # http://suo.ieee.org/ontology/msg05475.html | ||
+ | # http://suo.ieee.org/ontology/msg05476.html | ||
+ | # http://suo.ieee.org/ontology/msg05479.html | ||
− | + | ===NKS Forum : Feb–Jun 2004=== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | * http://forum.wolframscience.com/archive/topic/228-1.html | |
+ | * http://forum.wolframscience.com/showthread.php?threadid=228 | ||
+ | * http://forum.wolframscience.com/printthread.php?threadid=228&perpage=50 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=664#post664 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=666#post666 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=677#post677 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=684#post684 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=689#post689 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=697#post697 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=708#post708 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=721#post721 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=722#post722 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=725#post725 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=733#post733 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=756#post756 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=759#post759 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=764#post764 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=766#post766 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=767#post767 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=773#post773 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=775#post775 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=777#post777 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=791#post791 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=1458#post1458 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=1461#post1461 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=1463#post1463 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=1464#post1464 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=1467#post1467 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=1469#post1469 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=1470#post1470 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=1471#post1471 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=1473#post1473 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=1475#post1475 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=1479#post1479 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=1489#post1489 | ||
+ | # http://forum.wolframscience.com/showthread.php?postid=1490#post1490 | ||
− | + | ===Inquiry List : Feb–Jun 2004=== | |
− | |||
− | |||
− | |||
− | + | * http://stderr.org/pipermail/inquiry/2004-February/thread.html#1228 | |
− | + | * http://stderr.org/pipermail/inquiry/2004-March/thread.html#1235 | |
− | + | * http://stderr.org/pipermail/inquiry/2004-March/thread.html#1240 | |
− | + | * http://stderr.org/pipermail/inquiry/2004-June/thread.html#1630 | |
− | + | # http://stderr.org/pipermail/inquiry/2004-February/001228.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-February/001230.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-February/001231.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-February/001232.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-February/001233.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-February/001234.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001235.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001236.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001237.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001238.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001240.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001242.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001243.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001244.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001245.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001246.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001247.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001248.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001249.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-March/001255.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-June/001630.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-June/001631.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-June/001632.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-June/001633.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-June/001634.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-June/001635.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-June/001636.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-June/001637.html | |
− | + | # http://stderr.org/pipermail/inquiry/2004-June/001638.html | |
+ | # http://stderr.org/pipermail/inquiry/2004-June/001639.html | ||
+ | # http://stderr.org/pipermail/inquiry/2004-June/001640.html | ||
+ | # http://stderr.org/pipermail/inquiry/2004-June/001641.html | ||
+ | # http://stderr.org/pipermail/inquiry/2004-June/001642.html | ||
− | + | [[Category:Automata Theory]] | |
− | + | [[Category:Computation]] | |
− | + | [[Category:Computational Complexity]] | |
− | + | [[Category:Computer Science]] | |
− | + | [[Category:Differential Logic]] | |
− | + | [[Category:Formal Languages]] | |
− | + | [[Category:Graph Theory]] | |
− | + | [[Category:Logic]] | |
− | + | [[Category:Logical Graphs]] | |
− | + | [[Category:Mathematics]] | |
− | + | [[Category:Programming Languages]] | |
− | + | [[Category:Turing Machines]] | |
− | + | [[Category:Visualization]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 15:30, 11 October 2013
Author: Jon Awbrey
The task ahead is to chart a course from general ideas about transformational equivalence classes of graphs to a notion of differential analytic turing automata (DATA). It may be a while before we get within sight of that goal, but it will provide a better measure of motivation to name the thread after the envisioned end rather than the more homely starting place.
The basic idea is as follows. One has a set \(\mathcal{G}\) of graphs and a set \(\mathcal{T}\) of transformation rules, and each rule \(\mathrm{t} \in \mathcal{T}\) has the effect of transforming graphs into graphs, \(\mathrm{t} : \mathcal{G} \to \mathcal{G}.\) In the cases that we shall be studying, this set of transformation rules partitions the set of graphs into transformational equivalence classes (TECs).
There are many interesting excursions to be had here, but I will focus mainly on logical applications, and and so the TECs I talk about will almost always have the character of logical equivalence classes (LECs).
An example that will figure heavily in the sequel is given by rooted trees as the species of graphs and a pair of equational transformation rules that derive from the graphical calculi of C.S. Peirce, as revived and extended by George Spencer Brown.
Here are the fundamental transformation rules, also referred to as the arithmetic axioms, more precisely, the arithmetic initials.
(1) | |
(2) |
That should be enough to get started.
Cactus Language
I will be making use of the cactus language extension of Peirce's Alpha Graphs, so called because it uses a species of graphs that are usually called "cacti" in graph theory. The last exposition of the cactus syntax that I've written can be found here:
The representational and computational efficiency of the cactus language for the tasks that are usually associated with boolean algebra and propositional calculus makes it possible to entertain a further extension, to what we may call differential logic, because it develops this basic level of logic in the same way that differential calculus augments analytic geometry to handle change and diversity. There are several different introductions to differential logic that I have written and distributed across the Internet. You might start with the following couple of treatments:
I will draw on those previously advertised resources of notation and theory as needed, but right now I sense the need for some concrete examples.
Example 1
Let's say we have a system that is known by the name of its state space \(X\!\) and we have a boolean state variable \(x : X \to \mathbb{B},\!\) where \(\mathbb{B} = \{ 0, 1 \}.\!\)
We observe \(X\!\) for a while, relative to a discrete time frame, and we write down the following sequence of values for \(x.\!\)
\(\begin{array}{c|c} t & x \'"`UNIQ-MathJax1-QINU`"' in other words'"`UNIQ-MathJax2-QINU`"' =='"`UNIQ--h-10--QINU`"'Notions of Approximation== {| cellpadding="2" cellspacing="2" width="100%" | width="60%" | | width="40%" | for equalities are so weighed<br> that curiosity in neither can<br> make choice of either's moiety. |- | height="50px" | | valign="top" | — ''King Lear'', Sc.1.5–7 (Quarto) |- | | for qualities are so weighed<br> that curiosity in neither can<br> make choice of either's moiety.<br> |- | height="50px" | | valign="top" | — ''King Lear'', 1.1.5–6 (Folio) |} Justifying a notion of approximation is a little more involved in general, and especially in these discrete logical spaces, than it would be expedient for people in a hurry to tangle with right now. I will just say that there are ''naive'' or ''obvious'' notions and there are ''sophisticated'' or ''subtle'' notions that we might choose among. The later would engage us in trying to construct proper logical analogues of Lie derivatives, and so let's save that for when we have become subtle or sophisticated or both. Against or toward that day, as you wish, let's begin with an option in plain view. Figure 1.4 illustrates one way of ranging over the cells of the underlying universe \(U^\bullet = [u, v]\!\) and selecting at each cell the linear proposition in \(\mathrm{d}U^\bullet = [\mathrm{d}u, \mathrm{d}v]\!\) that best approximates the patch of the difference map \({\mathrm{D}f}\!\) that is located there, yielding the following formula for the differential \(\mathrm{d}f.\!\)
Figure 2.4 illustrates one way of ranging over the cells of the underlying universe \(U^\bullet = [u, v]\!\) and selecting at each cell the linear proposition in \(\mathrm{d}U^\bullet = [du, dv]\!\) that best approximates the patch of the difference map \(\mathrm{D}g\!\) that is located there, yielding the following formula for the differential \(\mathrm{d}g.\!\)
Well, \(g,\!\) that was easy, seeing as how \(\mathrm{D}g\!\) is already linear at each locus, \(\mathrm{d}g = \mathrm{D}g.\!\) Analytic SeriesWe have been conducting the differential analysis of the logical transformation \(F : [u, v] \mapsto [u, v]\!\) defined as \(F : (u, v) \mapsto ( ~ \texttt{((} u \texttt{)(} v \texttt{))} ~,~ \texttt{((} u \texttt{,~} v \texttt{))} ~ ),\!\) and this means starting with the extended transformation \(\mathrm{E}F : [u, v, \mathrm{d}u, \mathrm{d}v] \to [u, v, \mathrm{d}u, \mathrm{d}v]\!\) and breaking it into an analytic series, \(\mathrm{E}F = F + \mathrm{d}F + \mathrm{d}^2 F + \ldots,\!\) and so on until there is nothing left to analyze any further. As a general rule, one proceeds by way of the following stages:
In our analysis of the transformation \(F,\!\) we carried out Step 1 in the more familiar form \(\mathrm{E}F = F + \mathrm{D}F\!\) and we have just reached Step 2 in the form \(\mathrm{D}F = \mathrm{d}F + \mathrm{r}F,\!\) where \(\mathrm{r}F\!\) is the residual term that remains for us to examine next. Note. I'm am trying to give quick overview here, and this forces me to omit many picky details. The picky reader may wish to consult the more detailed presentation of this material at the following locations: Let's push on with the analysis of the transformation:
For ease of comparison and computation, I will collect the Figures that we need for the remainder of the work together on one page. Computation Summary for Logical DisjunctionFigure 1.1 shows the expansion of \(f = \texttt{((} u \texttt{)(} v \texttt{))}\!\) over \([u, v]\!\) to produce the expression:
Figure 1.2 shows the expansion of \(\mathrm{E}f = \texttt{((} u + \mathrm{d}u \texttt{)(} v + \mathrm{d}v \texttt{))}\!\) over \([u, v]\!\) to produce the expression:
In general, \(\mathrm{E}f\!\) tells you what you would have to do, from wherever you are in the universe \([u, v],\!\) if you want to end up in a place where \(f\!\) is true. In this case, where the prevailing proposition \(f\!\) is \(\texttt{((} u \texttt{)(} v \texttt{))},\!\) the indication \(uv \cdot \texttt{(} \mathrm{d}u ~ \mathrm{d}v \texttt{)}\!\) of \(\mathrm{E}f\!\) tells you this: If \(u\!\) and \(v\!\) are both true where you are, then just don't change both \(u\!\) and \(v\!\) at once, and you will end up in a place where \(\texttt{((} u \texttt{)(} v \texttt{))}\!\) is true. Figure 1.3 shows the expansion of \(\mathrm{D}f\) over \([u, v]\!\) to produce the expression:
In general, \({\mathrm{D}f}\!\) tells you what you would have to do, from wherever you are in the universe \([u, v],\!\) if you want to bring about a change in the value of \(f,\!\) that is, if you want to get to a place where the value of \(f\!\) is different from what it is where you are. In the present case, where the reigning proposition \(f\!\) is \(\texttt{((} u \texttt{)(} v \texttt{))},\!\) the term \(uv \cdot \mathrm{d}u ~ \mathrm{d}v\!\) of \({\mathrm{D}f}\!\) tells you this: If \(u\!\) and \(v\!\) are both true where you are, then you would have to change both \(u\!\) and \(v\!\) in order to reach a place where the value of \(f\!\) is different from what it is where you are. Figure 1.4 approximates \({\mathrm{D}f}\!\) by the linear form \(\mathrm{d}f\!\) that expands over \([u, v]\!\) as follows:
A more fine combing of the second Table brings to mind a rule that partly covers the remaining cases, that is, \(\mathrm{d}u = v, ~ \mathrm{d}v = \texttt{(} u \texttt{)}.\!\) This much information about Orbit 2 is also encapsulated by the extended proposition \(\texttt{(} uv \texttt{)((} \mathrm{d}u \texttt{,} v \texttt{))(} \mathrm{d}v, u \texttt{)},\!\) which says that \(u\!\) and \(v\!\) are not both true at the same time, while \(\mathrm{d}u\!\) is equal in value to \(v\!\) and \(\mathrm{d}v\!\) is opposite in value to \(u.\!\) Turing Machine Example☞ See Theme One Program for documentation of the cactus graph syntax and the propositional modeling program used below. By way of providing a simple illustration of Cook's Theorem, namely, that “Propositional Satisfiability is NP-Complete”, I will describe one way to translate finite approximations of turing machines into propositional expressions, using the cactus language syntax for propositional calculus that I will describe in more detail as we proceed.
I will follow the pattern of discussion in Herbert Wilf (1986), Algorithms and Complexity, pp. 188–201, but translate his logical formalism into cactus language, which is more efficient in regard to the number of propositional clauses that are required. A turing machine for computing the parity of a bit string is described by means of the following Figure and Table.
The TM has a finite automaton (FA) as one component. Let us refer to this particular FA by the name of \(\mathrm{M}.\) The tape head (that is, the read unit) will be called \(\mathrm{H}.\) The registers are also called tape cells or tape squares. Finite ApproximationsTo see how each finite approximation to a given turing machine can be given a purely propositional description, one fixes the parameter \(k\!\) and limits the rest of the discussion to describing \(\mathrm{Stilt}(k),\!\) which is not really a full-fledged TM anymore but just a finite automaton in disguise. In this example, for the sake of a minimal illustration, we choose \(k = 2,\!\) and discuss \(\mathrm{Stunt}(2).\) Since the zeroth tape cell and the last tape cell are both occupied by the character \(^{\backprime\backprime}\texttt{\#}^{\prime\prime}\) that is used for both the beginning of file \((\mathrm{bof})\) and the end of file \((\mathrm{eof})\) markers, this allows for only one digit of significant computation. To translate \(\mathrm{Stunt}(2)\) into propositional form we use the following collection of basic propositions, boolean variables, or logical features, depending on what one prefers to call them: The basic propositions for describing the present state function \(\mathrm{QF} : P \to Q\) are these:
The proposition of the form \(\texttt{pi\_qj}\) says:
The basic propositions for describing the present register function \(\mathrm{RF} : P \to R\) are these:
The proposition of the form \(\texttt{pi\_rj}\) says:
The basic propositions for describing the present symbol function \(\mathrm{SF} : P \to (R \to S)\) are these:
The proposition of the form \(\texttt{pi\_rj\_sk}\) says:
Initial ConditionsGiven but a single free square on the tape, there are just two different sets of initial conditions for \(\mathrm{Stunt}(2),\) the finite approximation to the parity turing machine that we are presently considering. Initial Conditions for Tape Input "0"The following conjunction of 5 basic propositions describes the initial conditions when \(\mathrm{Stunt}(2)\) is started with an input of "0" in its free square:
This conjunction of basic propositions may be read as follows:
Initial Conditions for Tape Input "1"The following conjunction of 5 basic propositions describes the initial conditions when \(\mathrm{Stunt}(2)\) is started with an input of "1" in its free square:
This conjunction of basic propositions may be read as follows:
Propositional ProgramA complete description of \(\mathrm{Stunt}(2)\) in propositional form is obtained by conjoining one of the above choices for initial conditions with all of the following sets of propositions, that serve in effect as a simple type of declarative program, telling us all that we need to know about the anatomy and behavior of the truncated TM in question. Mediate Conditions
Terminal Conditions
State Partition
Register Partition
Symbol Partition
Interaction Conditions
Transition Relations
Interpretation of the Propositional ProgramLet us now run through the propositional specification of \(\mathrm{Stunt}(2),\) our truncated TM, and paraphrase what it says in ordinary language. Mediate Conditions
In the interpretation of the cactus language for propositional logic that we are using here, an expression of the form \(\texttt{(p(q))}\) expresses a conditional, an implication, or an if-then proposition, commonly read in one of the following ways:
A text string expression of the form \(\texttt{(p(q))}\) corresponds to a graph-theoretic data-structure of the following form:
Taken together, the Mediate Conditions state the following:
Terminal Conditions
In cactus syntax, an expression of the form \(\texttt{((p)(q))}\) expresses the disjunction \(p ~\mathrm{or}~ q.\) The corresponding cactus graph, here just a tree, has the following shape:
In effect, the Terminal Conditions state the following:
State Partition
In cactus syntax, an expression of the form \(\texttt{((} e_1 \texttt{),(} e_2 \texttt{),(} \ldots \texttt{),(} e_k \texttt{))}\!\) expresses a statement to the effect that exactly one of the expressions \(e_j\!\) is true, for \(j = 1 ~\mathit{to}~ k.\) Expressions of this form are called universal partition expressions, and the corresponding painted and rooted cactus (PARC) has the following shape:
The State Partition segment of the propositional program consists of three universal partition expressions, taken in conjunction expressing the condition that \(\mathrm{M}\) has to be in one and only one of its states at each point in time under consideration. In short, we have the constraint:
Register Partition
The Register Partition segment of the propositional program consists of three universal partition expressions, taken in conjunction saying that the read head \(\mathrm{H}\) must be reading one and only one of the registers or tape cells available to it at each of the points in time under consideration. In sum:
Symbol Partition
The Symbol Partition segment of the propositional program for \(\mathrm{Stunt}(2)\) consists of nine universal partition expressions, taken in conjunction stipulating that there has to be one and only one symbol in each of the registers at each point in time under consideration. In short, we have:
Interaction Conditions
In briefest terms, the Interaction Conditions simply express the circumstance that the mark on a tape cell cannot change between two points in time unless the tape head is over the cell in question at the initial one of those points in time. All that we have to do is to see how they manage to say this. Consider a cactus expression of the following form:
This expression has the corresponding cactus graph:
A propositional expression of this form can be read as follows:
The eighteen clauses of the Interaction Conditions simply impose one such constraint on symbol changes for each combination of the times \(p_0, p_1,\!\) registers \(r_0, r_1, r_2,\!\) and symbols \(s_0, s_1, s_\#.\!\) Transition Relations
The Transition Relation segment of the propositional program for \(\mathrm{Stunt}(2)\) consists of sixteen implication statements with complex antecedents and consequents. Taken together, these give propositional expression to the TM Figure and Table that were given at the outset. Just by way of a single example, consider the clause:
This complex implication statement can be read to say:
ComputationThe propositional program for \(\mathrm{Stunt}(2)\) uses the following set of \(9 + 12 + 36 = 57\!\) basic propositions or boolean variables:
This means that the propositional program itself is nothing but a single proposition or boolean function of the form \(p : \mathbb{B}^{57} \to \mathbb{B}.\) An assignment of boolean values to the above set of boolean variables is called an interpretation of the proposition \(p,\!\) and any interpretation of \(p\!\) that makes the proposition \(p : \mathbb{B}^{57} \to \mathbb{B}\) evaluate to \(1\!\) is referred to as a satisfying interpretation of the proposition \(p.\!\) Another way to specify interpretations, instead of giving them as bit vectors in \(\mathbb{B}^{57}\) and trying to remember some arbitrary ordering of variables, is to give them in the form of singular propositions, that is, a conjunction of the form \(e_1 \cdot \ldots \cdot e_{57}\) where each \(e_j\!\) is either \(v_j\!\) or \(\texttt{(} v_j \texttt{)},\) that is, either the assertion or the negation of the boolean variable \({v_j},\!\) as \(j\!\) runs from 1 to 57. Even more briefly, the same information can be communicated simply by giving the conjunction of the asserted variables, with the understanding that each of the others is negated. A satisfying interpretation of the proposition \(p\!\) supplies us with all the information of a complete execution history for the corresponding program, and so all we have to do in order to get the output of the program \(p\!\) is to read off the proper part of the data from the expression of this interpretation. OutputOne component of the \(\begin{smallmatrix}\mathrm{Theme~One}\end{smallmatrix}\) program that I wrote some years ago finds all the satisfying interpretations of propositions expressed in cactus syntax. It's not a polynomial time algorithm, as you may guess, but it was just barely efficient enough to do this example in the 500 K of spare memory that I had on an old 286 PC in about 1989, so I will give you the actual outputs from those trials. Output Conditions for Tape Input "0"Let \(p_0\!\) be the proposition that we get by conjoining the proposition that describes the initial conditions for tape input "0" with the proposition that describes the truncated turing machine \(\mathrm{Stunt}(2).\) As it turns out, \(p_0\!\) has a single satisfying interpretation. This interpretation is expressible in the form of a singular proposition, which can in turn be indicated by its positive logical features, as shown in the following display:
The Output Conditions for Tape Input "0" can be read as follows:
The output of \(\mathrm{Stunt}(2)\) being the symbol that rests under the tape head \(\mathrm{H}\) if and when the machine \(\mathrm{M}\) reaches one of its resting states, we get the result that \(\mathrm{Parity}(0) = 0.\) Output Conditions for Tape Input "1"Let \(p_1\!\) be the proposition that we get by conjoining the proposition that describes the initial conditions for tape input "1" with the proposition that describes the truncated turing machine \(\mathrm{Stunt}(2).\) As it turns out, \(p_1\!\) has a single satisfying interpretation. This interpretation is expressible in the form of a singular proposition, which can in turn be indicated by its positive logical features, as shown in the following display:
The Output Conditions for Tape Input "1" can be read as follows:
The output of \(\mathrm{Stunt}(2)\) being the symbol that rests under the tape head \(\mathrm{H}\) when and if the machine \(\mathrm{M}\) reaches one of its resting states, we get the result that \(\mathrm{Parity}(1) = 1.\) Document HistoryOntology List : Feb–Mar 2004
NKS Forum : Feb–Jun 2004
Inquiry List : Feb–Jun 2004
|