# Rethinking Computer Science Part 6: Across the Spectrum

A given computation can be expressed many ways across the spectrum. An example computation presented as a mapping in Table 1, is expressed at various places along the spectrum. The computation lies in the structure and behavior of the differentnesses represented by the table. The two inputs are mutually inclusive.  A computation begins when both inputs assert a value. The values of each input as well as the values of the output are mutually exclusive. Only one value for each input and one value for the output will be asserted per computation.

The examples illustrate how the expression of differentness and computation varies  from one end of the spectrum to the other.

Fifteen data values
The computation is represented with fifteen unique values to represent the fifteen unique differentnesses which are sufficient for pure value differentiation with nine interaction rules and the association bag in Figure 1 providing the single place of association.

The differentnesses of the computation are represented as different values asserted by loci. The loci are only the medium of value assertion and do not contribute to differentiation. The computation referent is the set of value interaction rules which are embodied in the loci. The search to form a name and match it to an interaction rule is mutually inclusive association of loci at a single place of association (shaking bag). When the values asserted by loci form an interaction rule name they spontaneously interact. Two loci, one asserting one of U, V or W and one of asserting X, Y or Z meet and produce one of A, B, C, D, E, F, J, K or L remaining as the result value. The input values disappear and the result value appears realizing the computation. The disappearance of the input values (emptiness) is inherent in pure value computation behavior.

component purevalue(inA, inB -> outZ)
[UX] -> A   // means U and X interact to become A presented as outZ
[UY] ->  D
[UZ] ->  J
[VX] ->  B
[VY] ->  E
[VZ] ->  K
[WX] ->  C
[WY] ->  F
[WZ] ->  L
[NN] ->  N
endcomponent

Nine data values
With nine data values some values have to be used for both input and output so a directionalized locus is needed to isolate and differentiate the output values from the input values. The locus is statically associated to input directionalized loci presenting the input values and to directionalized loci receiving its output value forming a network of statically associated loci. The differentnesses of the computation are now represented partly with value and partly with place in a network of associations.The computation referent is the structure of the network and the value interaction rules embodied in each locus. The value interaction rules and the search to match the presented name with the rule are embodied in the locus which behaves internally as a pure value expression.

InA and inB are the outputs of functional loci. Since only the output values of the input loci are relevant to the example, the input values and actual rules are incidental, so the rules are represented with input names ??.

Emptiness and the null convention
Statically associated loci are continually presenting values to each other. A value presented as input from one locus to another does not inherently disappear when the receiving locus resolves the presented name. There is no inherent absence of value with association relation so a unique value, null, meaning, “not a data value” or “empty”, is added to the set of data values along with a convention that values asserted by loci monotonically transition between data and null with each transition to data being a new input to compute. From this point on an interaction rule with an all null name and transition to null, NN -> N, is included in all the value interaction rule sets.

Abstract expression
Association relationships are represented abstractly with unique names using a standard alphabet. Each name represents a place in the network that can assert a set of values. Corresponding names represent a direct association relationship. In Figure 3 output inA associates to input inA, output inB associates to input inB.

A place name and the set of values it can assert is how place and value cooperate to express unique computational differentness. For the current example:

place inA/{A, B, C, N};
place inB/{D, E, F, N};
place outZ/{A, B, C, D, E, F, J, K, L, N};

Read as place inA can assert the values A or B or C or N. Place inB can assert the values D or E or F or N. And so on. A specific differentness is referenced as inB/E meaning the value E asserted at place inB. The association names inA, inB and outZ correspond to the notion of variable. A set of value interaction rules embodied in a locus corresponds to the notion of function. Each locus is also assigned a name which refers to the set of value interaction rules it embodies which is specified as a component.

Abstract expression of nine value computation:
place inA/{A, B, C, N};
place inB/{D, E, F, N};
place outZ/{A, B, C, D, E, F, J, K, L, N};
locus1(?, ? -> inA);
locus2(?, ? -> inB);
locus3(inA, inB -> outZ);
locus4(outZ, ? -> ?);
component locus3(inA, inB -> outZ)
[AD] -> A   // means A and D interact to become A presented to outZ
[AE] ->  D
[AF] ->  J
[BD] ->  B
[BE] ->  E
[BF] ->  K
[CD] ->  C
[CE] ->  F
[CF] ->  L
[NN] ->  N
endcomponent

The output of locus1 and locus2 are associated to the input of locus3. The output outZ of locus3 will be similarly associated to the input of a further locus and so on specifying a network of association relationships among loci each embodying a set of value interaction rules.

Six data values
Six data values are not sufficient to differentiate the nine outputs.

Differentness in terms of associated values
So the outputs must be represented by associating two values represented by two directionalized loci, one locus for the assertion of each result value.

The search is now part association and part value. The search is started with the fanout of inA and inB presenting the same formed name to both output loci providing a preamble or setup for the search. The search to match a formed name to an interaction rule name is still in terms of value differentiation within each locus.

Abstract expression of six value computation:
place inA/{A, B, C, N};
place inB/{D, E, F, N};
place outZ/{A, B, C, D, E, F, N};
locus1(?, ? -> inA);
locus2(?, ? -> inB);
locus3(inA, inB -> outY);
locus4(inA, inB -> outZ);
locus5(outY, ? ->?);
locus5(outZ, ? ->?);
component locus3(inA, inB -> outY)
[AE] ->  D
[AF] ->  A
[BD] ->  B
[BE] ->  E
[BF] ->  A
[CD] ->  C
[CE] ->  F
[CF] ->  A
[NN] -> N
endcomponent
component locus3(inA, inB -> outY)
[AE] ->  B
[AF] ->  D
[BD] ->  C
[BE] ->  B
[BF] ->  C
[CD] ->  C
[CE] ->  B
[CF] ->  E
[NN] -> N
endcomponent

Three data values
With three data values the differentnesses of each input must be represented with the same values which affects the uniqueness of the names formable by the inputs. A locus has no up or down, right or left. There is no order of association so a locus cannot differentiate permutations. It cannot tell AB from BA. As shown in Figure 5 three values forming two value names can form only six unique names. three values forming three value names can form ten unique names which is sufficient to uniquely reference nine rule names.

So the input will be expressed with three inputs: inA is represented with two values and inB is represented with one value. The result will be represented with three associated values.

Threshold name recognition
Again, the same formed name is associated to the three output loci and the search to match a formed name to an interaction rule name is still in terms of value differentiation within each locus. With combinations of three values and no permutations the search criteria for recognizing a formed name begins to be quantitative, a matter of counting or thresholding. Are there two As and one B in any order. Are there two Bs and one A in any order. And so forth.

Abstract expression of three value computation:
place (R, S, T, U, V, W, X, Y, Z)/{A, B, C, N};
locus1(?, ? -> R);
locus2(?, ? -> S);
locus3(?, ? -> T);
locus4(R, S, T -> X);
locus5(R, S, T -> Y);
locus6(R, S, T -> Z);
locus7(X, ? ->?);
locus8(Y, ? ->?);
locus9(Z, ? ->?);
component locus4(R, S, T -> X)
[AAA] -> C
[AAB] ->  B
[AAC] ->  B
[ABB] ->  A
[ABC] ->  A
[ACC] ->  C
[BBB] ->  A
[BBC] ->  A
[BCC] ->  B
[NNN ] ->  N
endcomponent
component locus5(R, S, T -> X)
[AAA] -> C
[AAB] ->  B
[AAC] ->  A
[ABB] ->  B
[ABC] ->  C
[ACC] ->  C
[BBB] ->  A
[BBC] ->  A
[BCC] ->  B
[NNN ] ->  N
endcomponent
component locus6(R, S, T -> X)
[AAA] -> C
[AAB] ->  C
[AAC] ->  A
[ABB] ->  B
[ABC] ->  B
[ACC] ->  B
[BBB] ->  A
[BBC] ->  C
[BCC] ->  B
[NNN ] ->  N
endcomponent

Two data values
With only two data values the inputs with three differentnesses have to be encoded with two associated values and the nine different results have to be encoded with four associated values. This example is presented with two familiar values possessing an established rule set and graphic representation.

Notice that the value interaction rule set for AND is a threshold of two 1s and that the value interaction rule set for OR is a threshold of one 1. Notice also that neither set of value interaction rules differentiate the name 01 from the name 10.

Recognition by association relation.
In the three value example the same formed name was presented to all three output loci which each recognized the formed name in terms of the combination of values. Each locus embodied a different interaction rule set and asserted a different value for the same rule name. In the two value example each recognizing locus embodies the same interaction rule set but the input association relation is different for each. The two value input forms three names, 00, 01, 10 which are recognized in terms of association relations as three places of association, MN00, MN01,MN10. This marks a transition from name recognition in terms of value differentiation to name recognition in terms of association differentiation.

Progressive recognition search and resolution
The three places recognizing the name formed by the two values of each input are then associated in all possible combinations and presented to a rank of ANDs only one of which will receive two 1s causing a transition to 1 recognizing the name formed by the two inputs recognizing the name formed by the two inputs as an association place in the network. This one place at 1 will then generate the result values specified by the value interaction rule corresponding to the recognized name.

Differentiation counterpoint
Each association isolated by its connecting loci can reuse the same set of values. Each locus isolated by its connecting associations can reuse the same value interaction rules. Associations connect different loci. Loci connect different associations. Each connection isolates and renews the expression of differentness in the other domain. This counterpoint of associations connecting loci connecting associations connecting loci connecting associations … extends to arbitrarily large and complex computation networks. In particular, a small set of values and value interaction rules can express a computation of any complexity.

inclusivity and exclusivity
From the three data value example the mutual inclusivity of computational differentness (“all of” relation) has been represented in terms of association differentiation and the mutual exclusivity of computational differentness (“one of” relation) has been represented in terms of value differentiation. With the current example, for each data presentation, “all of” the associations of the network will assert “one of” two or more possible values.

The interplay of mutual inclusivity and mutual exclusivity in the representation of differentness is illustrated in numeric radix. For a given place-value number “all of” the digits (mutual inclusivity) assert “one of” a set of possible values (mutual exclusivity). More values (hexadecimal) means fewer digits (less association differentiation). Fewer values (binary) means more digits (more association differentiation).

Abstract expression of two data value computation:
place (M, N, K, L Mbar, Nbar, Kbar, Lbar)/{0, 1, N};
place (MN00, MN01, MN10, KL00, KL01, KL10)/{0, 1, N};
place (name0000, name0100, name1000, name0001, name0101)/{0, 1, N};
place (name1001, name0010, name0110, name1010)/{0, 1, N};
place (ZA, ZB, YA, YB, XA, XB, W, X, Y, Z)/{0, 1, N};
NOT(M -> Mbar);
NOT(N -> Nbar);
AND(Mbar, Nbar -> MN00);
AND(Mbar, N -> MN01);
AND(M, Nbar -> MN10);
NOT(K -> Kbar);
NOT(L -> Lbar);
AND(Kbar, Lbar -> KL00);
AND(Kbar, L -> KL01);
AND(K, Lbar -> KL10);
AND(K, Lbar -> KL10);
AND(KL00, MN00 -> name0000);
AND(KL01, MN00 -> name0100);
AND(KL10, MN00 -> name1000);
AND(KL00, MN01 -> name0001);
AND(KL01, MN01 -> name0101);
AND(KL10, MN01 -> name1001);
AND(KL00, MN10 -> name0010);
AND(KL01, MN10 -> name0110);
AND(KL10, MN10 -> name1010);
OR(name0100, name0001 -> ZA);
OR(name1001, name0110 -> ZB);
OR(ZA, ZB -> Z);
OR(name1000, name0001 -> YA);
OR(name0010, name0110 -> YB);
OR(YA, YB -> Y);
OR(name0101, name1001 -> XA);
OR(name0010, name0110 -> XB);
OR(XA, XB -> X);
name1010 -> W;
component AND(R, S -> X)
[00 ] -> 0
[01] ->  0
[10] ->  0
[11] ->  1
[NN] ->  N
endcomponent
component OR(R, S -> Y)
[00 ] -> 0
[01] ->  1
[10] ->  1
[11] ->  1
[NN] ->  N
endcomponent
component NOT(R -> Z)
0 -> 1
1 ->  0
N ->  N
endcomponent

One data value
With only one data value there cannot be combinations of different values to express differentness. All expression of differentiation and interaction is in terms of association relations. This example uses the established null convention logic graphic representation with its associated value interaction rules. The one data value is D.

Computation in terms of association
The mutually exclusive differentness previously represented by multiple possible values is now represented by multiple places in the network of association relations with the convention that only one of the mutually exclusive places will transition to data for each computation with the rest of the places, initially null, remaining null.

The name recognition search is now conducted in terms of all possible combinations of place association presented to different loci only one of which will transition to data. In the diagram only one of U, V or W will transition to data and only one of X, Y or Z will transition to data. Only one of the recognition loci will meet its threshold of two data values and transition its output to data recognizing the formed input name. The input is presented as place of association and the result is asserted as a place of association. all of the recognition loci embody the same value interaction rule set. Value is just a means of asserting place of association and does not contribute to differentiation.

Abstract expression of one data value computation:
place (U, V, W, X, Y, Z)/{D, N};
place (A, B, C, D, E, F, J, K, L)/{D, N};
TH22[U, X] -> A;
TH22[V, X] -> B;
TH22[W, X] -> C;
TH22[U, Y] -> D;
TH22[V, Y] -> E;
TH22[W, Y] -> F;
TH22[U, Z] -> J;
TH22[V, Z] -> K;
TH22[W, Z] -> L;
component TH22(R, S -> X)
DD-> D
NN ->  N
endcomponent

Spectrum summary
There must always be a little bit of each domain in the expression of any computation, at least one place of association and at least two values, one data value and one “not data” value.

The pure value expression and the pure association expression are duals. Each maps directly from the example computation table. There are nine value interaction rules on the left and nine loci on the right. There are  six input values on the left and six input associations on the right. There are nine output values on the left and nine output associations on the right. Interaction names are formed and recognized by association of values on the left. Interaction names are formed and recognized by association of places in a network on the right.

The association differentiation end of the spectrum, is the realm of human expression. There are few unique symbols, few interaction rules and large association structures. Humans are fond of complex data structures and large data bases. The value differentiation end of the spectrum, is the expression realm of nature. There are lots of unique values, lots of interaction rules and very little association structure. There are 10130 possible protein values and uncountable possible protein interaction rules.

Along the spectrum lies varying proportions of value differentiation and of association differentiation. The cytoplasm is a pure value expression but cell metabolism involves a lot of associated structures within the cell. Neuron networks are largely structures of association relationships but also involve hormone values and lots of different neurotransmitter values. Decimal arithmetic uses ten data values, DNA uses 4 data values, Boolean logic uses two data values and null convention dual threshold logic forms pure association expressions using a single data value.

One domain of the spectrum can be held constant while the other domain is allowed free rein. A mathematical logic such as Boolean logic holds the values and value transform rules constant and allows arbitrarily complex association structures. All mammals have essentially a constant association structure with the same body design, organ structures and cell structures. The variability among mammals is largely a matter of protein values expressed by DNA. The spectrum of differentiation encompasses and conceptually unites many forms of expression that previously appeared to be quite distinct or only superficially related. Humans and nature are doing essentially the same thing. Each just goes about it differently.

Value differentiation and association differentiation, two domains of differentiation, each requiring the context of the other to express differentness, mutually isolating and renewing each other, are the warp and woof weaving an indefinitely extensible fabric of computation: networks of persistent association relations among loci through which flow textures of information as values changing with mutually inclusive, “all of”, relations and mutually exclusive, “one of”, relations.