Method and system for process expression and resolution including a general method of direct association5572732Abstract A method and system for process expression and resolution including a general method of direct association is described. A first language structure including a named result reference which is a destination for a result string for a directly associated correspondingly named resultant is provided. In addition, a second language structure including a result link is provided. A first end of the result link is located within a formal list of a definition. A second end of the result link is directly associated by list position and is located within an actual list of an invocation. A third language structure including the resultant is provided. The resultant is associated with one or more language elements, including: the correspondingly named result reference and/or the correspondingly named result link. A resolution mechanism replaces the named result reference associated with the correspondingly named resultant with the resultant result string such that a language expression is resolved. Claims What is claimed is: Description FIELD OF THE INVENTION
TABLE 1
______________________________________
##STR1##
______________________________________
1.4 Pure Values Expression In a pure value expression there is no differentiation of variables. All differentiation is in terms of values and specified by value transform rules. Transform rules for this part of the discussion will be represented in the format of the transform name followed by the result values enclosed in brackets as shown below. name[result, result, . . . ] Consider an example expression with four distinctions differentiated by unique values A, B, C and D and two value transform rules that interactively associate those distinctions. A and B interact and transform into D. C and D interact and transform into B. The two transform rules for the example are shown in Table 2.
TABLE 2
______________________________________
AB [D] or BA [D]
CD [B] or DC [B]
______________________________________
The linear string representation makes it appear that ordering is significant when actually it is not. The input names AB and BA are the same name and are both specified for this example. There can be no order relationships among the values because there can be no order relationships among the variables when they are interactively proximate. They are simply two values interacting. The value transform rule is the simplest most primitive form of process expression. No part of the rule can be reduced to simpler terms or be more precisely stated. The values are primitive and indivisible and the interaction result is complete in itself and unambiguous. The value transform rules specify completely who does what with whom. As far as the variables are concerned anybody can do anything with anybody but in terms of the values only As can interact with Bs and only Cs can interact with Ds. As cannot interact with Ds nor Bs with Cs and so forth. There cannot be the A of this variable and the A of that variable because there is no this variable or that variable. Value difference is the only way to tell anything apart for this expression. A value expression can be elaborated and extended to more expressional complexity by adding more values and more value transform rules. The result value specified by the transform rule for a pure value expression is a different value from the values forming the transform rule name so there is no ambiguity about when the interaction is complete. The name values disappear and the result values appear. These new values can form a new unique transform rule name with other values which results in another interaction and more new values which can form further unique transform rule names and so on. Each interaction possibility is dependent on one or more previous interactions to provide the values to form its transform rule name. The process progresses in a succession of fulfilled interaction possibilities determined by the formability of unique transform rule names. The set of transform rules below in Table 3 illustrates a value expression that proceeds in a progression of unique name formation dependencies.
TABLE 3
______________________________________
AB [ C, D ]
CC [ D, E ]
DD [ G, F ]
EF [ F, G ]
GG [ X, Y ]
______________________________________
If there are some As and Bs present they will begin interacting and generating Cs and Ds. The CC and DD interactions cannot occur until there are some Cs and Ds available. The CC and DD interactions will generate Es, Fs and Gs which will form the input names of the EF and GG, transforms will interact and finally produce Xs and Ys. For this process the possibility expression is the set of value transform rules and the variable association rule specifying that all variables are or will become interactively proximate. The actuality expression is the presence of the As and Bs. The process is resolved in distinct discrete stages of interaction. The completion of each interaction is established by the presence of result values and the absence of transform name values for that stage. When Xs and Ys appear the resolution of the process is completed. It is deterministic and directional. It can't run backwards and start generating As and Bs. All of these characteristics are determined solely by the differentiation and interactive association of values as specified by the value transform rules. 1.4.1 Traditional computation with pure value expressions The pure value expression is unfamiliar territory in the contemplation of process expression and computation but the following examples will illustrate that the while the pure value end of the expression territory is associated mainly with natural expressions such as chemistry, physics and biology it is a fully capable discrete computation environment. There is in fact an important pure value expression system in the history of computational thought. This is the Roman numeral system without the subtractive principle. (This system delineates, for example, 9 as VIIII instead of IX). The digits of Roman numerals are generally presented in a certain order for convenient reading but without the subtractive principle the order has no significance to their meaning. No matter what arrangement the digits are presented in they represent the same number. Each digit of a number is a variable and each variable has a value. The variables have no particular association relationships among themselves. The meaning of each digit is differentiated entirely by its value. The magnitude of the number is determined solely by the values present. See Table 4 below.
TABLE 4
______________________________________
Possible values are M,D,C,L,X,V,I
Transform rules are IIIII [ V ]
VV [ X ]
XXXXX [ L ]
LL [ C ]
CCCCC [ D ]
DD [ M ]
______________________________________
The only interactions possible in a Roman numeral expression are those specified by the value transform rules. Vs don't interact with Xs because there is no rule with the appropriate name. The above value transform rules are a complete expression of the process for addition of Roman numerals. Given two Roman numbers these rules will reduce them to a minimal single number representation. The numbers 1978 and 22 are used as examples (see below). MDCCCCLXXVIII XXII Referring now more particularly to FIG. 3, for example, to add the two numbers a person could simply throw the numbers 134 into a bag, 132 and shake. The bag 132 itself represents the variable association rule. The rule states that variables cannot wander off and that external variables cannot intrude. Shaking the bag 132 specifies that all variables will eventually associate. There is no variable differentiation. Variables associate indiscriminately and there is no way to tell one variable from another inside the bag 132 except by its asserted value 134. The possibility expression is the set of value transform rules and the bag 132. The actuality expression is the values 134 thrown into the bag. The five Is will eventually get together and form the name IIIII. This will invoke the value transform rule IIIII and the five Is will transform into a V. There are then two Vs which will eventually make an X. The five Xs will make an L, the two Ls a C the five Cs a D and finally the two Ds an M. What remains in the bag are two Ms. No more interactions are possible because there are no value transform rules for Ms (see below). MDCCCCLXXVIII+XXII=MM. There are a couple of difficulties with this expression. It is not possible to determine when the expression inside the bag 132 is fully resolved either from inside or outside the bag 132. Also some of the transform rules require the confluence of five variables which might take a long time to occur. The Roman numeral system, however, was never intended to be autonomously resolving as it assumed a rather capable meta resolution environment that could get all the proper variables together and could tell when its resolution was done. The following examples will demonstrate that isolated pure value expression can be fully and autonomously determinable. So that the reader can more easily follow the examples the expressions from now on will be various forms of binary integer addition. The next example (see Table 5) introduces the first form of this expression and is an expression whose transform rule names are never more than two values long.
TABLE 5
______________________________________
Possible values are A,B,C,D,E
Transform rules are AA [ B ]
BB [ C ]
CC [ D ]
DD [ E ]
______________________________________
This expression behaves similarly to the Roman numeral expression. If it is assumed that A=1, B=2, C=4, D=8, E=16 it can be seen that these expressions are equivalent to binary numbers. A number is represented by specifying the appropriate values. As with the Roman numerals there is no significance to spatial arrangement of the variables. Numbers 134 are added by throwing them in the bag 132 and shaking (see below). DAC+BCA=EC; 13+7=20 The above expression will complete more readily because no interaction requires the confluence of more than two variables but there is still no way for the expression to determine when it is completed. For an expression to establish its own completeness there must be a distinct last interaction. With the above expression there might not even be a first interaction (see below). AC+BD=ABCD Combining these two numbers directly results in a minimally represented number without any interactions at all. If no interactions occur there can be no last interaction to indicate completion. To guarantee the completeness of a progression of interactions there must be a guaranteed completeness to the form of the values entering into the interactions. Completeness in this case means expressing the insignificant place values as well as the significant place values of the number. Another character will be attached to each value to indicate its significance or insignificance. 1 means a value is significant and 0 means it is insignificant. So now AC would be represented as A1C1B0D0E0 or E0D0C1B0A1 since order does not matter. The number of distinct values has simply been increased to achieve more expressional differentiation. Each input number must now be represented by five variables and it can be guaranteed that there will be an interaction for each possible place value whether that place value is significant or not. This is simply a convention of name presentation among processes. As will be seen each process can individually and locally maintain the convention. With cumulative local support it becomes a collective global convention. There is still no order relationship imposed on the variables. For the new example the possible values may be coded with two characters (see Table 6).
TABLE 6
______________________________________
Possible values are:
E0,E1,D0,D1,C0,C1,B0,B1,A0,A1
Transform rules are:
A0A0 [ B0,A0 ] B0B0 [ C0,B0 ]
A0A1 [ B0,A1 ] B0B1 [ C0,B1 ]
A1A0 [ B0,A1 ] B1B0 [ C0,B1 ]
A1A1 [ B1,A0 ] B1B1 [ C1,B0 ]
C0C0 [ D0,C0 ] D0D0 [ E0,D0 ]
C0C1 [ D0,C1 ] D0D1 [ E0,D1 ]
C1C0 [ D0,C1 ] D1D0 [ E0,D1 ]
C1C1 [ D1,C0 ] D1D1 [ E1,D0 ]
E0E0 [ E0 ]
E0E1 [ E1 ]
E1E0 [ E1 ]
E1E1 [ E0 ]
______________________________________
The integer addition example now looks like: E0 D1 C1 B0 A1+E0 D0 C1 B1 A1=E1 D0 C1 B0 A0; or 13+7=20 To resolve the expression one still just throws all the variables 134 into a bag 132 and shakes. As interact only with As, Bs with Bs, Cs with Cs, Ds with Ds and Es with Es. Each interaction generates a unique carry value which will interact with its corresponding values until no more interactions are possible. If the two input numbers are represented as five variables with each variable asserting a different one of the five flavors of value; Ax, Bx, Cx,Dx, Ex then the rules guarantee that the result will be a similar number of five variables. The convention of name presentation to the expression is maintained by the asserted results of the expression which will be presented to another expression. If each expression similarly maintains the name presentation convention then it becomes a global convention. Even with this regularity derived from the completeness of the presented name it is still not certain when the resolution of the process is complete. The E rule will be invoked twice, once for the input values and once for the carry value from the D rule. There is no way to tell which invocation is the last one. To eliminate this ambiguity separate distinctions and value transform rules must be specified for the input interactions and the carry interactions. Then there can be a definite last interaction which will be the carry into the E interaction. Because of minor combinatorial explosion of the possible distinctions in this next example the values will be presented in two parts. The characters for the positional flavor and positional assertion are represented by two separate tables. For instance the transform rule presented as AxAx[SBy,Az] when expanded in relation to the x x>>y z table really represents four separate transform rules; A0A0[SB0,A0], A0A1[SB0,A1], A1A0[SB0,A1] and A1A1[SB1,A0] (see Table 7 below).
TABLE 7
______________________________________
Possible values are:
Dx,Cx,Bx,Ax
UDx,UCx
TDx,TCx,TBx
SDx,SCx,SBx
RDx,RCx,DONE x = 0,1
Transform rules are:
precedence of
occurrence transform
relationships rule
1 AxAx [ SBy,Az ]
1 BxBx [ SCy,TBz ]
2 SBxTBx [ RCy,Bz ]
1 CxCx [ SDy,TCz ]
3 SCxRCx [ UCz ]
4 TCxUCx [ RDy,Cz ]
1 DxDx [ TDz ]
5 RDxSDx [ UDz ]
6 TDxUDx [ Dz, DONE]
for all rules x x >> y z
0 0 >> 0 0
0 1 >> 0 1
1 0 >> 0 1
1 1 >> 1 0
______________________________________
The integer addition example now looks like: E0 D1 C1 B0 A1+E0 D0 C1 B1 A1=E1 D0 C1 B0 A0 DONE The new R, S, T and U values separately track the carry values and the carry interactions. The DxDx rule is the input interaction and the TDxUDx rule is the carry propagation into D which is necessarily the last interaction. The result looks just like the previous result except that a new result value, DONE, is confidently generated by the last interaction. All of the additional complexity of specification to achieve complete control is just a matter of more distinctions and more value transform rules that track intermediate values through the interactions to establish a consistent and regular behavior that possesses a distinct last interaction. It is just more differentiation and association. No new concepts or primitive elements needed to be introduced. Control is not a primitive of process expression. It emerges from the defined expressional primitives of the model properly arranged. It is just extra expression beyond what is required to simply transform the process proper information. A familiar process has been expressed with full generality in a pure value environment. The expression is complete and self contained. Given the values, the transform rules and the variables it will proceed quite independently and autonomously in an orderly progression of distinct interactions leading to a distinct last interaction which determines completion. There is no ambiguity in its behavior and it needs no external assistance to effect its resolution. 1.5 Name Formation Dependency Relationships How an input name is expressed and resolved depends on the resolution resources available. If a very large number of value transform rules with names eight values long were available then the example process could be expressed and resolved in a single interaction. The example, however, uses value transform rules with names only two values long. Consequently the expression can not be resolved in a single interaction. An input name that is too long to be resolved in a single interaction must be resolved a piece at a time by a necessarily dependent progression of multiple interactions each resolving a smaller input name which is a piece of the larger input name. The eight value input name had to be broken up into 4 separate input interactions. The results of these input interactions must be combined to form input names for inner interactions and so on until the proper result values for the eight value input name are determined. The inner interactions depend on the results of the input interactions to form their input names. This dependence of the formation of the input name for one interaction on the result of one or more other interactions is name formation dependency. In a pure value expression name formation dependency relationships are expressed by correspondence between result values and value transform rule name values. In the last example above for instance the transform rule named RDxSDx is really four transform rules RD0SD0, RD0SD1, RD1SD0 and RD1SD1. Only one of these input names will be formed and the corresponding rule invoked. Which name is formed depends on the CxCx rule which will result in SD0 or SD1 and the TCxUCx rule which will result in RD0 or RD1. The results of these two interactions will form one of the four names of the RDxSDx rules. Within the context of the expression the values to form an RDxSDx name cannot come from anywhere else but the resolution of a CxCx interaction and of a TCxUCx interaction. The RDx of the RDxSDx transform name is a direct association to the RDx result value of the CxCx transform rules. The precedence of occurrence relationships, for the example as graphically shown in FIG. 4 and shown in textual form in Table 8 below), indicates the order in which interactions can occur for the resolving pure value expression.
TABLE 8
______________________________________
Interaction stage
1 2 3 4 5 6
Ax Ax Ax Ax Ax Ax Ax
Ax SBx Bx Bx Bx Bx Bx
Bx TBx RCx
Bx SCx SCx UCx Cx Cx Cx
Cx TCx TCx TCx RDx
Cx SDx SDx SDx SDx UDx Dx
Dx TDx TDx TDx TDx TDx DONE
Dx
______________________________________
This order is determined by the input name formation dependency relationships of the expression embodied in the value transform rules (see Table 9).
TABLE 9
______________________________________
Transform rules are:
precedence of
occurrence transform
relationships rule
1 AxAx [ SBy,Az ]
1 BxBx [ SCy,TBz ]
2 SBxTBx [ RCy,Bz ]
1 CxCx [ SDy,TCz ]
3 SCxRCx [ UCz ]
4 TCxUCx [ RDy,Cz ]
1 DxDx [ TDz ]
5 RDxSDx [ UDz ]
6 TDxUDx [ Dz, DONE]
______________________________________
The stage 1 interactions 136,138,140 and 142 can all occur simultaneously or at any time. Stage 6 interaction 152 is guaranteed to be the last interaction. The input name formation dependency relationships in the expression fully express all the possible concurrency. For instance the TCxTCx input name cannot be formed and the interaction 148 will not occur before the CxCx and SCxRCx interactions occur. Even though the CxCx interaction 140 can occur immediately the interactions dependent on it 140, 150 and 152 140, 150 and 152 will not occur until CxCx interaction 140 occurs. The control aspect of the expression is complete and general. No matter how long it takes for each interaction to occur, the expression will resolve correctly and completion of resolution can be determined by the assertion of the DONE value. The DONE value can perhaps open the bag and deliver the result. This progression of interactions 136 through 152 could resolve in a soup of just the eight input variables. Each interaction has two input values and produces one or two result values. There will never be more that eight values asserted at any instant and there are only five result values. This view of resolution of the expression has the eight variables changing their asserted values as the interactions occur. Two variables get together, realize that they form a transform name and change their asserted values to effect the result values of the transform rule. So the input variables are also the result variables. The previous Table 8 illustrates the value populations after each interaction stage and which is also illustrated in graphical form in FIG. 4. Before the first interaction stage 136, 138, 140 and 142 there are four interactable names. After the first interaction stage the only interactable name is SBxTBx. After the next stage 144 the only interactable name is RCxSCx and so on. The result values are isolated from the input variables by the event of the interaction. When AxAx interacts 136 the input values disappear and the result Ax appears. There are no more Axs and Ax does not enter into any other transform name so it cannot interact further. When the DONE value is generated 152 there are one each of Ax, Bx, Cx, Dx and DONE laying around that cannot interact further and these constitute the result values. 1.6 The Need For Null Values If one assumes conservation of variables, which is not a necessary assumption, then of the eight input variables only five are needed to assert the result values leaving three variables that are essentially expressional waste. These three variables must assert some value that is not relevant to the expression. For instance if the RCxSCx interaction generated UCx and also Bx the extra Bx would form a transform name with the result Bx or one of the input Bxs which in either case would mightily confuse the resolution of the expression. So these three left over variables must assert values different from the values of the expression which are meaningless to the expression. These meaningless values will be called NULL values. A NULL value for a pure value expression is any value not specified in the set of value transform rules. The example expression can resolve in a veritable sea of variables as long as all the other variables except the eight input variables are asserting NULL values. The environment that an input name is formed in must be in an initial state in which all values of all proximate variables are NULL to the expression. What is NULL to one pure value expression might be quite meaningful to another pure value expression. So there could be many process expressions resolving quite independently in a single frothing sea of variables. This is the form of expression in the cytoplasm of the living cell. The specificity of interaction of the proteins supports the intermingled expression of many distinct and independent processes resolving simultaneously. 1.7 Pure Variable Expression In the previous examples the differentiation of distinctions and association relationships that expressed an orderly process were specified entirely in terms of value differentiation and association by value transform rules. The variables themselves were indiscriminately associated and did not contribute to the differentiation of the expression. They served simply as the medium of differentiated value assertion adequately available whenever needed. What is the nature of a process expression that expresses differentiation of distinctions and association relationships in terms of variables and variable association rules. A pure variable expression has quite different properties from a pure value expression. To explore these differences directly the first example pure variable expression will be derived directly from the last example pure value expression of binary addition by replicating the name formation dependency relationships of the example pure value expression. A pure variable expression is expressed in terms of direct association relationships among the variables. Each variable is differentiated by its association place in relation to all other associated variables. These association relationships must be constant so a pure variable expression is a rigid and unchanging structure of associated variables. What can change within this structure is the values that the variables assert. Each variable can assert two or more values so that different value transform names can form within the structure of association relationships. As the formed names are resolved, the result values form new names which are in turn resolved. A resolving pure variable expression might be viewed as values flowing through a structure of variable association relationships while a resolving pure value expression might be viewed as variables flowing through a structure of value association relationships. The essential feature of a pure variable expression is that a variable can only assert one value at a time so each variable must be associated with a mutually exclusively asserted value set in the expression. A mutually exclusive value set is a set of values of which only one value can be asserted at a time. These value sets are represented in the value transform rules of the pure value example (FIG. 4) by the x, y and z suffixes. For instance SCx means that the asserted value can be either SC0 or SC1 but not both. This means that there must be at least one variable assigned to assert each mutually exclusive value set in the expression. This further means that the value transform rules cannot be presented as they were presented for the pure value expression where a single interaction can produce two result values. A pure value interaction resulting in two result value sets must be expressed as two pure variable interactions with two variables each asserting one result value set. If a variable must assert the result value of an interaction it must also be the locus of that interaction; i.e., the input name for the interaction must be formed by direct association relationships between the variable asserting the result value and the variables asserting the input values that form the transform rule name. The result asserting variable itself must recognize the formed input name and assert the appropriate result value. So each variable is a locus of value transform interaction. This means that a value transform rule set as well as the mutually exclusive result value set must be associated with each variable. For instance the transform rule set BxBx[SCy,TBz] from the pure value expression (FIG. 4) must be broken into two rule sets and each rule set associated with a different variable as shown in FIG. 5. For the rule BxBx[SCy] the two input variables 154 and 156 will be associated with one variable 161 which can assert SC0 or SC1 and will be identified as SC in the expression diagram of FIG. 5 and for the rule BxBx[TBz] the two input variables 154 and 156 will be associated with another variable 160 which can assert TB0 or TB1 and will be identified as TB in FIG. 5. Now that the value transform rule has been split there are two variables 160 and 161 that must recognize the same asserted input name so the variables 154 and 156 asserting the input name must be directly associated to both result value variables 160 and 161 so the two input variables BxBx 154 and 156 have to be associated with both the SCx variable 161 and the TBx variable 160 in a fanout configuration. FIG. 4 shows the name formation dependencies of the pure value expression and FIG. 5 shows the complete example of the preliminary pure variable expression derived from the pure value expression. Each enclosed area is a variable. Each variable is labeled with the value set it can assert such as TB, TC etc. Variable TD 162 can assert TD0 or TD1. Association relationships between the variables are represented by touching boundaries. The diagram itself expresses the variable association rules. The example pure variable expression (FIG. 5) was fairly straight-forwardly derived but it will not work as it is presented. The nature of interaction for the pure variable expression is quite different from the nature of interaction for the value expression. The nature of the variables and values haven't changed but the nature of their relationships is different. Discovering why this expression will not work and what is required to make it work will serve to introduce the pure variable expression and to illustrate the differences between the pure variable expression and the pure value expression. 1.7.1 Continuously interacting structure The variable association rules specify that the associated variables are interactively proximate permanently and continuously. In the portion of the example shown in FIG. 6 the two input Dx variables 164 and 166 are not associated and cannot see each others asserted values. The TD variable 168, however, can see both of the input D values 164, 166 and respond to the input name formed by the values asserted by the two variables and assert the result value 168 for the formed name. After TD recognizes a D,D input name and transforms its own value the association relationships among the variables do not change. TD 168 is continuously seeing any input name formed by the two input Ds 164, 168 and it must continuously respond to that formed input name. TD 168 cannot not assert a value. Nor can it just assert some nondescript value if it does not recognize a transform name. It must be always recognizing an input name and asserting a result value. Therefore there must be a set of value transform rules that span all the possible input names that can be formed by the input Ds. Because a variable is always asserting a result value in relation to a formed input name, for a result value to be stably asserted the input name seen by the resolving variable must be stably maintained. In other words the input Ds 164, 166 must maintain their asserted values if TD 168 is to maintain its asserted result value. TD's 168 asserted result value contributes to an input name for another variable in the expression and must itself be stably maintained. This continues through the entire expression until all the variables of the expression have interacted and asserted the proper result values. So all the input values must be stably maintained until the entire expression is resolved. These resolution properties are quite different from those of a pure value expression. An interaction in a pure value expression occurs only when a value transform name is formed. The input values that formed the input name disappear and the result values appear marking a distinct progress event in the resolution of the expression. These new values are inherently asserted by their variables until they form new input names and themselves disappear in a new interaction. The pure value expression inherently resolves in a progression of discrete events ending with the assertion of unambiguous result values. The pure variable expression on the other hand is continuously resolving and asserting result values and this creates several difficulties with process expression. 1.7.2 Name formation ambiguity The problem with the continuous resolution nature of the variable expression is that the example pure variable expression exhibits ambiguity of input name formation and direction of result propagation because of the reuse of a value set. The portion of the example shown in FIG. 7 illustrates the difficulty. Variables do not posses any inherent directionality of interaction. There is no input end or output end to a variable. Variable TD 174 is associated with the input D variables 170, 172 as well as the result D variable 176. Clearly there are input D values 170, 172 and result D values 176 but there is no way for the TD variable 174 to know which variable a D value comes from. The TD variable 174 can see three D values while its value transform rules only recognize names with 2 D values. Which two of the three values are to constitute the input name? What result value should the TD variable 174 assert when there are several simultaneously valid two value D input names visible to it? The result D variable 176 is having a backwards influence on the TD variable 174 . The D variables 170, 172, 176 have been referred to as input and result because that was their role as mapped from the pure value expression where they were indeed unambiguous input and result values. Because of the discrete event nature of the resolution of the pure value expression the input D values 170, 172 did not get mixed up with the result D value 176. This ambiguity of name formation is why the example expression will not work. The result values can get confused with the input values in name formation and asserted values can influence interactions backwards in the expression. This is not an invalid form of expression. Most physical structures of nature are nondirectionalized associations of variables. The particles of atoms, the atoms of molecules and gravitational systems are pure variable expressions with continuous interaction pulsing through their structure in all directions simultaneously. This discussion, however, is concerned with process expressions that proceed in a more or less orderly manner to a more or less definite result. So strict directionality of interaction influence must be imposed on the pure variable expression. 1.7.3 Need for value isolation The only way to establish directionality within the defined model for a pure variable expression is to isolate the input values from the result value with different value sets. All variables directly associated must assert different value sets. In the FIG. 8 it can be seen that variables 1 and 3 , 178, 182 respectively cannot assert the same value set without confusing variable 2 180. Only 1 and 4 174 and 184 respectively can assert the same value set without forming ambiguous input names for 2 or 3 180 or 182 respectively. So there must be at least three sets of value transform rules with nonintersecting value sets to directionalize a variable expression and variables asserting identical value sets must be at least three associations apart. It can be seen in the example, shown in FIG. 5, that several variables violate this rule. It is obvious that the result values can get mixed up with the input values through the variables TB, TC and TD 160, 163 and 162 respectively. The only way to fix this ambiguity is to isolate the assertions of identical value sets by inserting extra buffering variables into the expression that assert different value sets. This may seem a complex requirement to impose on an expression but the problem in general is quite simply solved. By adding enough variables to an expression and choosing two value sets that the process expression proper does not use it can be assured that there are always two variables between each variable asserting a process expression proper value and hence the use of any identical value set by the process expression proper will always be three variable associations apart. These two in-between variables with their value sets can be formed into a standard directional association unit through which all process expression proper variable associations are formed. This standard association unit will be called an interaction locus. 1.8 The Interaction Locus The interaction locus isolates its input value associations from its result value associations and establishes directionality of interaction for pure variable expressions. It doesn't matter what value sets are used inside the locus as long as they are different from the value sets used by the process expression proper. The example shown in FIG. 9 illustrates the interaction locus. Variables 3, 4 and 5, 190, 192 and 194 respectively are the interaction locus. Variables 3 and 4, 190 and 192 respectively are the isolation variables. Variable 5, 194 is the result variable. Variables 1 and 2, 186 and 188 respectively are input variables to the interaction locus which may be the result variables of other interaction loci. Variables 1, 2 and 5, 186, 188 and 194 respectively are process expression proper variables which will assert the value set 0, 1. Variable 3, 190 will assert the value set X, Y. Variable 4, 192 will assert the value set S, T. The following value transform rules sets will be associated with each variable (see Table 10 below).
TABLE 10
______________________________________
Variable Variable Variables
3 4 1,2,5
______________________________________
00 [X] X [S] S [0]
01 [Y] Y [T] T [1]
10 [Y]
11 [X]
______________________________________
Variable 3, 190 only recognizes input names of 0, 1 and asserts result values X, Y. It embodies the value transform rules for the whole interaction locus. Variable 4, 192 only recognizes input names X, Y, and asserts result values S, T. Variables 1, 2, and 5, 186, 188 and 194 respectively only recognize input names S, T and assert result values 0, 1. An x asserted by variable 3, 190 will result in a 0 asserted by variable 5, 194. A y asserted by variable 3, 190 will result in a 1 asserted by variable 5, 194. The interaction locus establishes directionality of interaction with a convenient and uniform convention by isolating the input values from the result values of an interaction. The process expression proper variables 1, 2 and 5, 186, 188 and 194 respectively all recognize and assert the same value set but their values never get mixed up because they are all isolated from each other by the isolating variables of the interaction locus. The interaction locus recognizes the value set 0, 1 as input values and asserts the value set 0, 1 as result values. Different transform sets can be assigned to variable 3, 190 of the interaction locus to provide interaction loci with different name transformation functions. Variable 4, 192 is just a buffer variable always associated with variable 3, 190 and variable 5, 194 is the result assertion variable always associated with variable 4, 192 so the three variables can be considered as a single unit of expression. The expression unit can be identified by the transform rule set associated with it. A directionalized rendering of an interaction locus might look something like the diagram shown in FIG. 10. The oval, 196 represents the isolation variables and is the part of the interaction locus that will receive and recognize the formed input names. T1, 196 represents the transform rule set associated with the interaction locus. R in the circle, 198 represents the result assertion variable of the interaction locus. The oval, 196 is the input end and the circle, 198 is the output end. An expression of associated loci might look like the diagram shown in FIG. 11. The elements with I are the input variables asserting the input name to the expression. A little graphic stylizing will provide a more familiar look to the expression, as shown in FIG. 12. Each interaction locus value transform set can be represented by a different shape and that shape can explicitly indicate the direction of interaction. The result variables can be drawn out into long thin connecting lines. With the convention of the interaction locus a pure variable expression can be viewed in the familiar terms of interconnected transform elements or function elements. The interaction locus establishes directionality of interaction with a convenient and uniform convention by isolating the input values from the result values of an interaction. Real world examples of interaction loci include the electromagnetic switch, the electronic tube and the transistor. For the electromagnetic switch the input current value influences a magnetic field value which influences the physical position value of the switch which influences the result current values. Identical input and result value domains are isolated by two different value interaction domains just like the interaction locus derived within the model. For the tube, electron flow in an input wire influences a charge in a vacuum which influences the electron flow in the vacuum which influences the electron flow in the result wire. The input and result of a transistor is similarly isolated by different physical interaction domains. 1.8.1 The interaction locus as a bounding convention The interaction locus is a bounding convention. It encapsulates an expression that can be quite arbitrarily represented itself but which presents a specific convention of interactive behavior to all other interactive elements participating in the convention. This bounding convention establishes the first instance of what might be called from one viewpoint an imposed expressional abstraction or from another viewpoint an emergent expressional facility. In either case it establishes a uniformity and regularity that makes the whole considerably more than the sum of its parts. If one looks at a pure variable expression variable by variable as just associated variables the interaction loci might not be at all evident. There is no guarantee in any expression that all the interaction loci look the same. The only requirement is that the boundaries look the same to each other. Their insides may vary dramatically. In a modern computer for example the transistor circuits that implement a logic gate may vary dramatically between chips made by different manufacturers. Some interaction loci have magnetic values inside and some have mechanical values inside some have electronic values inside. Imagine an expression of a processor made from chips from different manufacturers expressed solely in terms of transistors, capacitors and resistors with no clue as to where the boundaries of logic value expression were or that logic values had anything to do with the expression. Without the overlay of logic gates on the expression it would be just a huge network of electronic elements and extremely difficult to understand. But the overlay is exactly that. There is nothing intrinsically "real" about it. It is just a convention that must be maintained among consenting expressional elements. The interaction locus is an imposed regularity and uniformity that imparts an abstract level of meaning to the expression that the individual variables can know nothing about and cannot anticipate the existence of. It allows an expression of complex meaning the possibility of which could not be projected from the nature of the variables and values themselves. Interaction bounding conventions both directional and nondirectional arise spontaneously in nature. Atoms are one form of nondirectional interaction convention establishing uniform interaction boundaries around already complex associations of variables, living cells exhibit directionality in terms of values, certain value molecules are permitted into the cell and certain value molecules are excreted and asserted by the cell. Receptor proteins have a distinct input end and output end and allow molecular information to pass into the cell without the actual molecules passing into the cell. Neurons exhibit interaction locus type directionality in that specific places on the cell are input places (dendrites) and specific places on the cell are result places (axon) and the result places do not get confused with the input places. 1.9 Directly Associable Interaction Loci The example process can now be expressed in terms of associated interaction loci and rendered entirely in terms of the value set 0, 1. The following three interaction loci value transform sets, shown in Table 11, will be defined and will be called ADD, CARRY and DONE. Ignore for the time being that the DONE transform set is a nonfunctional tautology.
TABLE 11
______________________________________
ADD CARRY DONE
______________________________________
00 [0] 00 [0] 00 [1]
01 [1] 01 [0] 01 [1]
10 [1] 10 [0] 10 [1]
11 [0] 11 [1] 11 [1]
______________________________________
FIG. 13 is a diagram of this expression. The ADD locus is A. The CARRY locus is C. The DONE locus is D. The variable type labels are attached to the interconnecting result variables in the example to show this example's correspondence with the previous examples. It will be seen that there is a one to one correspondence between the variables of the preliminary variable expression example shown in FIG. 5 and the interaction loci of this example, shown in FIG. 13. What were directly associated variables in the initial example are now directly associated interaction loci in the same association relationships. The expression of FIG. 13 still is not an autonomous expression. Names are always formed and interaction activity is occurring continuously. There are no necessary and discrete interaction events. If several transform rules in an expression specify the same result value then it is possible for a new input name to form and no change event at all to occur in the expression. There can be no guaranteed last event in the resolution of the expression and the DONE interaction locus, 200 cannot even begin to do its job. The completion of a resolution cannot be determined in terms of the expressions own resources. 1.10 The Need for a Null Value The essential problem is that there is no inherent way for an expressional element to become meaningless within the context of a pure variable expression. All variables are constantly associated and all values are constantly forming valid input names and interacting. Elements of a pure value expression, on the other hand, can disappear from the expression and become meaningless by suddenly asserting some NULL value that is not part of a value transform rule name of the expression and become meaningless to the expression. Elements of a pure variable expression cannot just drop out of the expression. The variables are locked in a rigid association structure and any value that they assert is inevitably influential in the expression and the expression must account for them. Every possible formed input name must be accounted for by a value transform rule set. There are no inherently meaningless values so a value must be explicitly assigned to be meaningless. This meaninglessness must be explicitly recognized by the value transform rule sets and be integral to the expression. The value assigned to express meaninglessness will be called the NULL value. The introduction of a NULL value can resolve the problem of resolution completion. The NULL value essentially allows each variable to express meaninglessness within the structure of associations. The basic strategy for the value transform rules is to specify a NULL result value if their input name includes a NULL value. In this manner formed input names can be recognized as valid or invalid. A valid input name is one with no NULL values. So although there are always input names formed and recognized, an invalid input name can suddenly become a valid input name. The variable recognizing this suddenly valid input name will transform its asserted result value from NULL to a nonNULL result value providing a distinct resolution progress event. The following set of transform rules, shown in Table 12, applied to the example expression will allow the assertion of the DONE value to be a distinct event in the resolution.
TABLE 12
______________________________________
ADD CARRY DONE
______________________________________
00 [0] 00 [0] 00 [1]
01 [1] 01 [0] 01 [1]
10 [1] 10 [0] 10 [1]
11 [0] 11 [1] 11 [1]
anyNULL [NULL]
anyNULL [NULL] anyNULL [NULL]
______________________________________
The expression must begin with all asserted values in the expression being NULL including the input values. For the pure value expression this requirement was simply that no values defined in the expression were asserted in the variable soup. If there were any defined values initially asserted besides the input name values the resolution would be confused. The pure variable expression has the same problem. If any of the variables in the expression are already asserting nonNULL values when the input name is applied to the input variables the resolution will be confused. Therefore all the variables in the entire expression must be asserting NULL values when the valid input name values are applied. It is this initial state of NULL that insures the occurrence of progressive interaction events. As each input name is recognized by each interaction locus the asserted NULL values will change to meaningful nonNULL values in an orderly progression of value transforms propagating through the expression until all the result values are valid. The expression must be reinitialized to NULL before another input name resolution can be started. This can be accomplished by simply presenting a NULL input name. The NULL result values will propagate through the expression just as the valid result values did. So the NULL convention requires that there be an alternating cycle of valid input names with NULL input names. With the above transform rule sets and with the expression in an initial NULL state (the input values NULL and all interaction loci asserting NULL values) the entire expression will continue to assert NULL values as long as the input name values remain NULL. As the input name values become nonNULL the interaction loci begin to assert nonNULL result values. Since all the result values are dependent on the formation of an input name, the result name will not be completely nonNULL until the input name is completely nonNULL. For instance referring to FIG. 13 both input Ds, 202 and 204 can be nonNULL but if one of the other input values is NULL then the result D, 210 will remain NULL awaiting a nonNULL carry value. The result D, 210 will not become nonNULL until RD, 226 and UD, 208 become nonNULL. D, 210 will be the last result value to be generated and DONE, 200 relying on the same input name can assert the completion of the resolution by becoming nonNULL. The NULL convention scales up through combinations of interaction loci to endow a large expression of associated loci with the same behavior as a single locus. The large expression will only express a completely valid result name when a completely valid input name is present. Because no single locus changes its result from NULL until a valid input is present there are no race conditions. The result values will propagate through an expression in an orderly wavefront of valid result values with no invalid spurious values asserted anywhere in the expression at any stage of the resolution and finally a valid result name for the expression is asserted. When a result value goes nonNULL it is asserting a valid result of a valid input name. The assertion of the DONE nonNULL value is now a distinct completion event but it is still not guaranteed to be the last resolution event. Because the D result locus, 210 and the DONE locus, 200 receive their input names simultaneously there is still a possibility of the DONE value, 200 being asserted before the nonNULL D value, 210 is asserted. In the pure value expression both values were generated simultaneously by a single interaction but in the variable expression they are asserted by different interactions that may resolve at different speeds. The solution to this requires some reorganization of the expression as shown in FIG. 14. The result of the DONE variable is now directly dependent on all of the result values of the expression being nonNULL. The expression can now autonomously assert its own completion. With the NULL convention and the interaction locus convention the expression of FIG. 14 is finally a pure variable expression of the example four bit binary addition process that will work. No new primitive expressional elements have been postulated. It is still just variables associated by variable association rules asserting values that form input names that interact and transform according to value transform rules. 2. The Process Expression Landscape The process expression landscape encompasses expressions with varying degrees of value differentiation and variable differentiation. The discussion will begin with an arbitrarily defined baseline example process presented as a pure value expression. The discussion will progress through several forms of process expressions all representing the same example baseline process in different forms. Finally the ultimate pure variable form of process expression will be presented. 2.1 The Baseline Example Process The example process shown in FIG. 15 is six distinctions that can interact in nine possible ways producing one of nine possible results. A pure value expression is used as the baseline expression of the process because it is straightforward and intuitively understandable. The fifteen distinctions in the process are differentiated with fifteen unique values. All nine possible interactions among the six distinctions are specified in terms of value transform rules. Tables will be used in this discussion to represent sets of value transform rules because they are more compact and convenient to read than the character string representations. It should be remembered that the table is not a single transform rule but just a convenient presentation of a set of transform rules. The corresponding character string expressions of the transform rules for the baseline example are also presented for the baseline example to show the correspondence of the two forms of presentation. The baseline example process was defined by simply filling in the table with arbitrary values. All the differentiation in the process is expressed by unique values. There is no case where the same value expresses two distinctions. The set of value transform rules is a complete expression of all the interaction possibilities among the six input distinctions. The example pure value representation uses transform rules with input names two values long and will resolve in a single interaction step. 2.2 Limited Values The discussion will begin with the possibility that there are not enough values to directly represent all the distinctions of the example process. Suppose for instance that there are only four values available I, J, K and L to represent the fifteen distinctions of the process. The expression of the distinctions will have to be encoded by using multiple values to represent each distinction previously represented by a single unique value. An arbitrary assignment of encodings might be as shown in FIG. 16. As a result of the encoding identical values are now used to represent more than one distinction. For instance the input names IJ, 230 and JI, 232 represent two different distinctions so the Is and Js of each input name must be differentiated. This can only be done by differentiating among the variables expressing the values. This J means something different from that J because it is expressed by a different variable with a specific association relationship to the variable of the second J. The encoded input name must be expressed by four differentiated variables. Differentiation lost by limiting value differentiation must be made up by differentiation of variables. So the expression must include an association structure of interaction loci 2.3 Input Ambiguity of Interaction Locus Even though identical values in the input name are differentiated by different variables when these variables are associated at an interaction locus the variables become interactively proximate and loose their differentiation and the identical values lose their differentiation. The interaction locus cannot discriminate that this value came from the first variable and that value came from the second variable. Inside the interaction locus there is a collection of values just like a pure value representation and some of these are identical values. For instance if the input name to a locus were IJJI the locus can at best only determine that there are two Is and two Js. The input name could easily have been IIJJ. At the interaction locus all ordering is lost and only quantities of values can be discriminated. Therefore an arbitrary encoded input name cannot be unambiguously discriminated in a single interaction by a single interaction locus. In fact the only form of encoded input name that can be unambiguously discriminated by a single interaction locus is an input name with all values identical. For the current example the only unambiguously discriminable input names are IIII, JJJJ, KKKK and LLLL. There is only one possible input name with four Is only one with four Js and so on. 2.4 Limited Discrimination Power of the Interaction Locus Furthermore an interaction locus can generate only one value for one result variable. Since the values in the locus are not differentiated the locus cannot decide that this value goes to the left result variable and the other value goes to the right result variable. Any number of input variables can be mixed into the locus but the internal mix cannot be unmixed to several result variables. This in itself further limits the discrimination possible in an interaction locus. If there are only four possible values that the result variable can assert then only four distinct input names can be discriminated by the locus. An interaction locus with four input variables for the current example can only discriminate four unambiguous input names and can assert only four result values. A locus with only two input variables can still unambiguously discriminate only four input names; II, JJ, KK and LL and assert four result values so in general there is a rapidly diminishing return of expressiveness for associating more than two input variables to an interaction locus. All of the examples of this discussion will assume two input interaction loci. The discrimination power of the interaction locus is considerably less than the expressivity of its possible input names. The entire encoded input name clearly cannot be resolved in a single interaction locus. There must be a coordinated cooperation of many interaction loci to express the complete example process with each locus providing a partial resolution of a small piece of the input name. It is this progression of partial resolutions that determines the input name formation dependencies among the interaction loci and provides the structure of the process. 2.5 Preliminary Considerations Before continuing it will be remembered that for a variable expression to be autonomous one of the values must be assigned the NULL meaning. This would leave only three of the four values representing process proper values. Having mentioned the need for the NULL value the issue will be ignored for the bulk of this discussion and only reintroduced at the end to establish the nature of the ultimate pure variable expression. The following discussion will sound more familiar in relation to current practice and experience if the NULL value issue is ignored. Traditional forms of expression deal only with the expression of process proper distinctions. Control is introduced as carefully coordinated external expressions such as system clocks, delay lines and other timed events. The interaction locus association structure will be presented as a directed graph. A node is an interaction locus. The arcs are the result variables of the interaction locus. A spanning set of transform rules is associated with each interaction locus that will resolve all its possible input names. The expression must be a coordinated progression of interaction loci. What is the fundamental rationale of forming such an expression? How are value transform rules assigned at each locus? How are the input name formation dependency relationships determined? The pure value expression was direct and intuitive but the encoded expression is neither direct nor obvious. It was easy to specify that A and Z go to 5 but how can it be specified that IJ and JJ go to LJ with the tools at hand? There is no particular pattern to the example encoded table, shown in FIG. 16, so the only general way to approach the expression is to recognize each possible input name and generate the appropriate result names. Each input name can be recognized individually and that recognition expressed by differentiated variables. The correct set of result values can then be asserted and these values collected to a single set of result variables. 2.6 Recognizing Input Names The first stage of resolution is to recognize the input names. The input name must be recognized two values at a time with each two value name being recognized by a single interaction locus. It has already been shown that a single interaction locus cannot discriminate between the input names IJ-JI and II-JJ so it must take multiple loci just to discriminate input names. Can a single locus discriminate just IJ from all other input names? The answer is again no because the input name JI might be a valid input name. The only possibility of recognizing a name with a single interaction locus is to transform the expected input name into an unambiguous standard recognition name with two identical values and discriminate this standard recognition name. 2.6.1 Rotation locus So the first task for an interaction locus is to transform single values. This can be done with appropriate explicit transform rules at each locus or it can be done with a more general rotation locus which can be applied multiple times to get the desired transform. The values can be put in some circu | ||||||
