Introduction
The intent of this paper is to introduce a new model of distributed computation, and presumes that the reader is familiar with extant models (CCS, pomsets, and the like) so as to concentrate on what is new about the present approach. The model arose in the author’s search for a way to describe and specify a particular class of distributed computations, namely selforganizing systems, although it is applicable to less demanding applications as well. Prominent characteristics of selforganizing systems are (1) they are not intended to ‘halt’, (2) they are meaningless when separated from their environment, with which they constantly interact, (3) they must be selfreflective, and thus (4) they are, in a nonteleological sense, goaldriven. [Man97] enlarges on these themes.
In contrast to many, the approach presented here emphasizes structure so strongly that the algorithmic component that for most people is the sine qua non of computation is nearly invisible. This emphasis is ultimately the reason why the approach offered here  called the phase web paradigm  differs from all others we are familiar with, and correspondingly, why its mathematics comes out so differently (algebraic topology, namely, rather than logic).
Of course one still writes programs, but in pure processcoordination terms; we use a local extension to Linda [Gel85] called TLinda [Note 0]. However, since a selforganizing system generally grows/learns, this programming is ultimately sculptural rather than specificational in character. This sculpturing is a reflection of the hierarchical aspect of the phase web.
As will become apparent, this work adopts algebraic topology as its overall mathematical framework. The first to do this were Herlihy and Shavit [HS93], who model decision tasks via simplicial complexes, and then use homology theory to capture state change. We use only the former, and, unlike these authors, in a way that is quite independent of the application. Nevertheless, we are very much in agreement with Herlihy and Rajsbaum when they write [HR95] “We believe that these techniques and models, borrowed from classical algebraic topology, represent a promising new approach to the theory of distributed computing. Because these notions come from a mature branch of mainstream mathematics, the terminology (and to a lesser degree, the notation) is largely standardized, and the formalisms have been thoroughly debugged. Most importantly, however, this model makes it possible to exploit the extensive literature that has accumulated in the century since Poincarè and others invented modern algebraic topology”.
Also related is Pratt’s work with Chu spaces and automata [Pratt95]. Automata are a traditional way to view computation, and state and prove formal properties, although their very sequentiality is problematic when dealing with distributed computations. It is therefore interesting that the functionality of a Chu automaton appears to have a counterpart in the mappings of the ladder hierarchy we present here.
The next section introduces the basic computational insight, at the end of which we give an outline of the remainder of the paper.
1 Pomsets and vector products
In a remarkable passage, [Pratt86] introduces, in the context of discrete events and pomsets thereof, the seed concept as follows.

The mental leap from strings to pomsets has much in common with that from reals to complex numbers. In particular, one can encounter complex numbers without previously having seen a definition of the concept, via operations on real numbers, the canonical example being to apply square root to a negative number. A similar situation obtains with pomsets, as the Figure below illustrates in the application of “pomset multiplication” to two strings. In this figure, vertices denote pomset events, and the order on the events is given by the reflexive transitive closure of the relation implied by the arrows.
(a) Orthocurrence and (b) concurrence, of strings and .

In the figure (a), we have “multiplied” two strings and to yield not a string but a poset. The multiplication, which we call orthocurrence, may be characterized as a direct product of partial orders. This multiplication has a very natural and useful interpretation: if we interpret as modelling the sequence TransmitthenReceive, and as the message followed by the message , then the product is immediately recognizable as the four events Transmit 0, Receive 0, Transmit 1, Receive 1. Furthermore the order is equally recognizable as the necessary temporal order on these four events! We shall call pomset multiplication orthocurrence.

The need for pomsets rather than posets becomes apparent when we substitute the string for in this example. We then have four events consisting of two occurrences of each of the actions Transmit 0 and Receive 0. This constitutes a multiset with four elements but with only two distinct elements.

Because of this possibility of repetitions of actions we draw a distinction between events and actions. Actions label events, that is, there is a labelling function from events to actions. An event is an instance or occurrence of its action.

Nonstrings may be produced from strings not only by multiplication but also by addition, as Figure (b) illustrates. We call pomset addition concurrence.

[Pratt goes on to define a number of other relations and apply them to a pomsetoriented model of computation.]
First an historical note. So far as I am aware, this is the first occurrence of the idea in computing theory: Smolensky [Smo90] apparently rediscovered it as the way to extend neural nets to symbols; it came to me, again independently, as the key to a distributed hierarchy concept in 1991.^{1}^{1}1
In spite of superficial similarities, a phase web is quite different from a neural net. Also, [Smo90] has no hierarchical moment.
In fact, it is essentially the vector outer product originally discovered by Hamilton in 1825. Gibbs replaced it with the rather less fertile vector cross product late in that same century.
The above passage gives birth to the following comments:

The multiplication is noncommutative, in that the sequence (eg.)  Transmit then Receive  is clearly not equivalent to  Receive then Transmit. This is a principal characteristic of the outer product and gives rise to the appearance of , which in turn is bound up with the rotation group. State change in general can be expressed as a rotation in a vector space, and in this connection note that the state transformations in (a) can be viewed as successive 90 rotations [Note 2]. This notion that has been broadly exploited in both quantum and relativistic physics in this century because of its cogency. The phase web model does the same, and moreover in the context of hierarchies of vector spaces.

In fact three different sequences are provided for: two via successive left or right 90 rotations, and a third  which states/requires no ordering on the occurrence of and  as a direct 180 rotation.

The “need for pomsets rather than posets” brings up the issue of indistinguishability, a profound concept that has played a prominent role in the present author’s work: concurrent events are namely indistinguishable in time.

“Actions label events” brings up the issues of how actually to both discover and label collections of events deserving the connotations of the concept of ‘action’. The discovery process is important in the present model, since this is required of a selforganizing system. In connection with both this and the preceding item, see Bastin & Kilmister and ParkerRhodes in the references.

“We call pomset addition concurrence”. In the following we use to denote the concurrence of actions or states^{2}^{2}2In that our entities form groups [Man94], and a group element (state) can also be an operator (action).  hereafter termed cooccurrence  which turns out to correspond directly to termaddition in a Clifford algebra.
Having introduced the basic theme of this paper, we leave Pratt at this point to pursue a different continuation, one which as noted in the introduction, eschews sets and strings of events in favor of other mechanisms. It is our feeling that orthocurrence failed to catch on because the full power of the concept, as well as the depth of its conceptual underpinnings, is difficult to see in the pomset context. We therefore examine more closely first cooccurrence, and thereafter the actiondiscovery process. We then present in rough outline the path to algebraic topology and its use in describing distributed computations hierarchically.
2 Escaping from Turing’s Box
An implicit claim of the Turing model is that a single sequence of computational events can capture all essential aspects of computation, that is, that computation consists only of state transformations. To refute this claim, consider the following gedanken experiment:
The coin demonstration  Act I. A man stands in front of you with both hands behind his back, whilst you have one hand extended in front of you, palm up. You see the man move one hand from behind his back and place a coin on your palm. He then removes the coin with his hand and moves it back behind his back. After a brief pause, he again moves his hand from behind his back, places what appears to be an identical coin in your palm, and removes it again in the same way. He then asks you, “How many coins do I have?”.
It is important at the outset to understand that the coins are formally identical: indistinguishable in every respect. If you are unhappy with this, replace them with electrons or geometric points. Also, there are no ‘tricks’ in the prose formulation. What is at issue is the fact of indistinguishability, and we are simply trying to pose a very simple situation where it is indistinguishability, and nothing else, that is in focus.
The indistinguishability of the coins now agreed, the most inclusive answer to the question is “One or more than one”, an answer that exhausts the universe of possibilities given what you have seen, namely at least one coin. There being exactly two possibilities, the outcome can be encoded in one bit of information. Put slightly differently, when you learn the answer to the question, you will per force have received one bit of information.
The coin demonstration  Act II. The man now extends his hand and you see that there are two coins in it. [The coins are of course identical.]
You now know that there are two coins, that is, you have received one bit of information. We have now arrived at the final act in our little drama.
The coin demonstration  Act III. The man now asks, “Where did that bit of information come from??”
Indeed, where did it come from?! Since the coins are indistinguishable, seeing them one at a time will never yield an answer to the question. Rather, the bit originates in the simultaneous presence of the two coins. We call such a confluence a cooccurrence. In that a cooccurrence, by demonstration a bona fide computational entity, is ‘situational’ rather than ‘transformational’, the above assumption that computation is purely transformational is shown to be false.
Addressing briefly the most common objections:
Q: Whatever you do, it can be simulated on a TM.
A: You can’t ‘simulate’ cooccurrence sequentially, cf. the Coin demo.
Q: But you can only check for cooccurrence sequentially  there’s always a
.
A: This is a technological artifact: think instead of constructive/destructive
interference  a phase difference between two wave states can be expressed
in one bit.
Q: Simply define a TM that operates on the two states as a whole  the
“problem” disappears.
A: This amounts to an abstraction, which hierarchical shift changes the
universe of discourse but doesn’t resolve the limitation, since one can ask
this new TM to ‘see’ a cooccurrence at the new level. This objection thus
dodges the issue.
Q: Cooccurrence is primitive in Petri nets, but these are equivalent to finite
state automata.
A: The phase web in effect postulates growing Petri nets, both in nodes
and connections. All bets are then off.
At this juncture, we hasten to mention that we are dealing here with local simultaneity, so there is no collision with relativity theory. Indeed, Feynman [Feyn65 p.63] argues from the basic principle of relativity of motion, and thence Einstein locality, that if anything is conserved, it must be conserved locally; see also [Man92, Phipps, Pope&Osborne].
Penrose [Pen89] has argued that computational systems, not least parallel ditto, in principle cannot model quantum mechanics. However, we believe that his argument, together with most research involving (namely) parallelism, is subtly infected with the sequential mindset, going back to Turing’s analysis, and truly, earlier. A deep analogy with the difference between Newtonian and 20 century physics is entirely defensible. The Coin demonstration is our reply to such arguments, which we do not then expect to hold.
Notice by the way how the matrixbased formulations of QM neatly get around the inherent sequentiality of style (ie. algorithmic) thinking, namely by the literal cooccurrence of values in the vectors’ and matrices’ very layouts; and thereafter by how these values are composed simultaneously (conceptually speaking) by matrix operations. Instead of the matrix route, we have taken the conceptually compatible one of Clifford algebras, which are much more compact, elegant, and general, cf. [Hestenes].
Returning to our discussion of Turing’s model, we see from the Coin demonstration that there is information, computational information, available in the universe which in principle cannot be obtained sequentially. Replacing the coins by synchronization tokens, we can say that the information received from observing a cooccurrence is indicative of the fact that two states do not mutually exclude each other.
Cooccurrence and mutualexclusion are in fact conceptual opposites, in that (say) two events cannot simultaneously both cooccur and mutually exclude. The following section shows how this insight can be promoted to a concept of ‘action’.
3 CoExclusion
The block demonstration. Imagine two ‘places’, and , each of which can contain a single ‘block’. Each of the places is equipped with a sensor, respectively , which can indicate the presence or absence of a block.
The sensors are the only source of information about the state of their respective places and are assumed a priori to be independent of each other, though they may well be correlated. The two states of a given sensor are mutually exclusive, so a place is always either ‘full’, denoted (arbitrarily) by , or ‘empty’, denoted by ; clearly, .^{3}^{3}3We are working in rather than the traditional . We use the visual convention that a sensor written without a tilde is taken to be bound to the value , and vice versa; clearly, .
Suppose there is a block on and none on . This will allow us to observe the cooccurrence . From this we learn that having a block on does not exclude not having a block on . Suppose at some other instant (either before or after the preceding) we observe the opposite, namely . We now learn that not having a block on does not exclude having a block on . What can we conclude?
First, it is important to realize that although the story is built around the cooccurrences and , everything we say below applies equally to the ‘dual’ pair of cooccurrences and . [Note 1.] After all, the designation of one of a sensor’s two values as ‘’ is entirely arbitrary. It is also important to realize that the places and blocks are story props: all we really have is two twovalued sensors reflecting otherwise unknown activities in the surrounding environment. Such sensors constitute the boundary between an entity and its environment in the phase web paradigm.
Returning to the question posed, we know that excludes and similarly excludes . Furthermore, we have observed the cooccurrence of and and vice versa. Since the respective parts of one cooccurrence exclude their counterparts in the other cooccurrence (cf. first sentence), we can conclude that the cooccurrences as wholes exclude each other.
Take this now a step further. The transition is indicative of some action in the environment, as is the reverse, . The same applies to . Perceive the transitions and as two sequential computations, each of whose states consists of a single valuealternating bit. By the independence of sensors, these two computations are completely independent of each other. At the same time, the logic of the preceding paragraph allows us to infer the existence of a third computation, a compound action, with the state transition , denoted . In effect, by combining in this way two singlebit computations to yield one twobit computation, we have lifted our conception of the actions performable by the environment to a new, higher, level of abstraction. This inference we call coexclusion, and can be applied to cooccurrence pairs of any arity where at least two corresponding components have changed.^{4}^{4}4The term ‘inference’ is to be taken in its generic, not its formal logical, sense: coexclusion is more nearly inductive in its thrust.
Notice that the same reasoning applies to the action , also denoted . The two actions are, not surprisingly, dual to each other, so coexclusion on two sensors can generate two distinct actions. Like cooccurrence, an action defined by coexclusion also possesses an emergent property, generally comparable to spin [Man94].
Coexclusion provides a very general way for an entity to selfassemble: simply observe coexcluding cooccurrences, since these then will represent an abstraction of the environment. However, the mechanism for actually discovering coexclusions is as yet unspecified. Speaking now very computationally, how exactly does one discover the existence of a coexclusive relationship between two cooccurrences?
Were computational resources not an issue, one could simply create a process to look for each possible coexclusion  eg. first the one cooccurrence, and thereafter the other. When both have been observed, the existence of the coexclusion is established, and a corresponding action can be instantiated. However, for sensors this requires processes! One could of course prespecify which cooccurrences should be examined, but this eliminates the crucial element of discovery  one can hardly call a system selforganizing when one has more or less prespecified how it is to put things together.
Rather than this, suppose we define a cooccurrence in terms of an “event buffer” with timewindowsize , where true simultaneity requires that , and larger values recognize the factual granularity with which the hardware can resolve events and/or the timescale at which an entity interacts with its environment. Suppose further that event identifiers are put into the event buffer as they occur, ie. the new state engendered (and labelled by) the action associated with the event is inserted into the buffer. Finally, suppose that events in the buffer are successively discarded as their residence exceeds (or the same eventstate changes again). Clearly, this arrangement guarantees that the state changes contained in the buffer all took place within , and thus occurred ‘simultaneously’ (modulo ). The reader is at this point encouraged to ponder the fact that this mechanism in fact solves the problem of discovering coexclusions, and at that in linear time and space, and without prespecification! [Reader pause, for a lovely aha! experience.]
To see why this claim is true, consider the fact that a sensor’s states are mutually exclusive, that is, if it is currently then before it changed it was in the state . Furthermore, in at least, the opposite is also true: . Hence, since the buffer contains the cooccurrence (say) , and they both just changed, then before they entered the buffer, obtained. But these two cooccurrences are exactly those necessary to define the coexclusion The computation time and space are fundamentally linear because they are proportional to the buffer size. If we specify that all events are to pass through our event buffer, then the only prespecification is the arity of the coexclusion. Even this prespecification can be avoided if all possible coexclusions (over the current buffer contents) are instantiated as each event is entered into the buffer. In all cases, a simple (commutative) hashcheck of the coexclusion’s components can reveal duplicates [ManUS].
4 Computation via Clifford Algebras
This section presents, very informally, the mathematical foundation of the phase web paradigm. The point of departure is to view sensor states as vectors instead of scalars, as is conventionally done.
Let sensor state indicate that sensor is currently being stimulated, ie. a synchronization token for that state is present, and that is currently not being stimulated, and hence a token for state is present. Thus the two states of are represented by their respective synchronization tokens, whose respective presences by definition exclude each other.
That the sensors qua vectors are orthogonal derives from the fact that, in principle, a given sensor says nothing about the state of any other sensor. A state of a multisensor system is then naturally expressed as the sum of the individual sensor vectors, and the state is written as the vector sum . [Note 2.] Since such states represent cooccurrences, it follows that cooccurrences are vector sums, usually denoting partial (local) states. Note how the commutativity of ‘’ reflects the lack of ordering of the components of a cooccurrence; and as well that the cooccurrence indicates that the interpretation of ‘zero’ is that the components of the sum exclude each other. Because does not distinguish statevalue and exclusion, we take our algebra to be over .
The next step is to represent actions. [Man94] presents a detailed analysis of the group properties of cooccurrences and actions, concluding that the appropriate algebraic formalism is a (discrete) Clifford algebra, and that the state transformation effected by an action is naturally expressed using this algebra’s vector product. A prime characteristic of this product is that it is anticommutative, that is, for , .^{5}^{5}5The Clifford product can be defined as , ie. the sum of the inner () and outer () products, where is the oriented area spanned by vectors . The basis vectors of a Clifford algebra may have , and while here we choose , reasons are appearing for choosing . As long as they all have the same square, it doesn’t matter for what is said here. Note that , so , cf. §1. The magnitude of any such product is the area of the parallelogram its two components span, and the orientation of the product is perpendicular to the plane of the parallelogram and determined by the “right hand rule”. Applying the Clifford product to a state, one finds  using the squarerule and the anticommutativity of the product given above  that
(1) 
that is, that the result of the action is to rotate the original state by , for which reason things like are called spinors. Thus state change in the phase web is modelled by rotation (and reflection) of the state space, and the effect of an ‘entire’ action can be expressed by the inner automorphism , which corresponds to a rotation through . [Note 3.] Using this automorphism, one can derive two families of actioncomposition rules (here, for arity 2):
which is a traditional functional composition, and the parallel composition
One of the felicities of Clifford algebras is that one needn’t designate one of the axes as ‘imaginary’ and the other as ‘real’. Rather, the business is implicit and the algebra’s anticommutative product neatly bookkeeps the desired orthogonality and inversion relationships, no matter how many dimensions [ie. sensors (roughly)] are present. The actionasproduct and its implicit implements the transformations necessary to preserve consistent observer/observed relationships; this will be clearer when we discuss the hierarchical model later.
The above 2spinors are just one example of the vector products available in a Clifford algebra  any product of the basis vectors is welldefined, and just as defines an area, defines a volume, etc. Being by nature mutually orthogonal, the terms of a Clifford algebra
(2) 
themselves also define a vector space, which is the space in which we will be working (actually, hierarchies of such spaces). [The term (eg.) above, for , denotes , that is, all possible nonredundant combinations.] It is perhaps worth stressing that this vector space is the space of the distinctions expressed by sensors, and as such has no direct relationship with ordinary 3+1 dimensional space.
A Clifford product like reflects both (1) the emergent aspect of a phase web action (via its perpendicularity to its components) and (2) its ability to act as a metasensor (since its orientation is ). Regarding (1), the emergence is rooted in the information gleaned from the cooccurrences underlying the coexclusion inference that yields , cf. the Coin demonstration. Regarding (2), the coexclusion inference is an abstraction that produces a single action with two bits of state from two lower level actions each possessing a single bit of state. Since this abstraction has the same external behavior as its constituent sensors, namely , we can legitimately view it too as a sensor, a metasensor. By coexcluding metasensors, we can build a new set of abstractions  metametasensors  etc., and thus construct a hierarchy of interwoven cooccurrences and exclusions that directly reflects the observed structure of the surrounding environment. This hierarchy is the topic of the following section.
5 Extension to Hierarchical Spaces
This section introduces the hierarchical aspect of the phase web model of computation. It is fitting that we begin with the question “why hierarchy?”.
The concept of hierarchy has been used in computing for a long time  the use of a hierarchical structure, with its accompanying logarithmic reduction in the number of entities to be juggled, is a major key to aesthetic, cogent, and maintainable programs. The current situation in computing  where computational models of other than computer systems are becoming widespread  offers several new reasons to look more closely at hierarchy:

Contemporary physical theory is unable to tell a convincing story of how one gets from its microscopic conceptual foundation  quantum mechanics  to the phenomena of the macroscopic world of elbow joints and eyes, evolution and ecosystems, and the thermodynamic arrow of time (irreversibility), to name a few.

The continued miniaturization of hardware components is leading to increasing contact with the quantum mechanical world, yet our understanding of computation is strongly Newtonian (total orders, billiardball causality, etc.). This hierarchically ‘downward’ extension of our understanding is an inverse formulation of the preceding problem.

Living systems can in fact not be described with physical theories in their current form [Ros85, Ros91, Mat89]. In addition, the obviously hierarchical structure of multicelled organisms, not to mention DNAdriven assembly processes, are quite untouched by contemporary research into multiprocess computational systems. The computational description of selforganization mentioned earlier is another example.
The generalization of function composition hierarchy to concurrency and distribution has proven elusive. This generalization is critical, however, if computational concepts are to be applied to natural systems. As a case in point, computing has long rested on the assumption that the behavior of a computation was independent of its physical substrate, but the complexity results from quantum computation show that something important is missing. Looking at the matter hierarchically, the issue is whether/how can one descend through levels from a macroscopic description to a microscopic one and arrive at quantum mechanics. What Penrose in effect argued is that if you use a functioncomposition hierarchy  which has a hand and glove relationship to Turing’s model  you’ll never get there. The evershrinking size of circuit components to a scale where quantum effects are unavoidable thus represents a genuine crisis. It is therefore comforting that the phase web’s underlying mathematical structure is entirely compatible with both relativity and quantum theory. For example,

Phase web computations inherently superpose states as subgoals pursue alternative paths breadthfirst to achieve the given goal  a classic quantum behavior.

2 and 3spinors exhibit spin  also a characteristic quantum phenomenon; and cooccurrences spin 1. The isomorphism between the two sides of Figure 1 is strikingly analogous with the thrust of contemporary string theory  that there is a 11 relationship between fermions and bosons.

The ‘objects’ created by coexclusion satisfy a mutexbased resource invariant, which we hypothesize are the computational analog of quantum conservation laws [Man92].
In addition, [Man97] shows how living systems can be modelled by the methods we describe here. It is the contention of this article that a hierarchical view of distributed computational systems is the key, not only to a deeper understanding of the nature and depth of the very notion of computation itself, but also to the solution of the above problems. We should therefore begin to insist
that contemporary theories of computation demonstrate their applicability to such larger scientific issues, in addition to traditional, strictly computational, concerns.
5.1 The Twisted Isomorphism
One might expect that the coexclusion of two metasensors, say and , would be modelled by simply multiplying them, to get the 4action . This turns out however to be inadequate, since although by the same logic the coexclusion of (say) and in Topsy expresses explicitly a useful relationship (eg. partwhole), the algebra’s rules reduce it from to , which is simply redundant.
Instead, we take as a clue the fact that goalbased change in Topsy occurs via trickling down through the layers of hierarchy, and draw an analogy with differentiation. In the present decidedly geometric and discrete context, differentiation corresponds to the boundary operator . Define and let
that is, drop one component at a time, in order, and alternate the sign. [Note 4.] Using the algebra’s rules as before, one can show that which is exactly the form of equation (1) for what an action does!
Take now equation (2) expressing the vector space of distinctions, segregate terms with the same arity, and arrange them as a decreasing series:
(3) 
Here as before, is to be understood as expressing all the possible 2ary forms (etc.), and hence the cooccurrence of pieces of similar structure. Each of the individuals is a simplicial complex, and the whole sequence is called a chain complex, expressing a sequence of structures of graded geometrical complexity in which the transition from a higher to a lower grade is defined by . Furthermore, the entities at adjacent levels are related via their group properties  their homology, which we here assume is trivial.
It turns out that there is a second structure  a cohomology  that is isomorphic to the homology, but with the difference that arity increases via the (or coboundary) operator,^{6}^{6}6More precisely, , where is a simplicial complex with arity , and the corresponding cocomplex. The isomorphisms are matrices containing the terms’ coefficients. precisely opposite to , cf. eqn. (3):
(4) 
Building such increasing complexity is exactly what coexclusion does. [We note that a Clifford algebra satisfies the formal requirements for the existence of the associated homology and cohomology.]
It is easily proven that , and by isomorphism, so also . For example, , and similarly, . Combining these now as the exclusion , we get , which are the two forms of the input to the determination of a coexclusion relationship. Recalling the eventbuffer mechanism for discovering coexclusions, we see, especially if , that this mechanism is a realization of the isomorphic !
Viewing ’s abstraction operation informationally, we see that two bits () are being encoded in a single bit (the orientation of ), that is, information is being ‘abstracted away’. The missing bit indicates the phase of the action, eg. whether the state rotation/transformation is or . What will actually occur is however welldefined by the other connections partake in, ie. the boundary conditions of the action. Note however that ‘welldefined’ does not necessarily imply ‘deterministic’, cf. the earlier comment on 90 vs. 180 rotations. Isomorphically, the corresponding operation destroys the emergent information in the current state and replaces it by nondeterministic choice.
Refer now to Figure 1 [Bow82], which we call a ladder diagram.^{7}^{7}7Strictly speaking, , and should be indexed by level: .
The shaded shape points out a unique property of the homologycohomology ladder, one that even many topologists seem unaware of, namely that the isomorphisms are twisted, that is, the kernel of the group at one end of a rung is mapped by (respectively, ) into the nonkernel elements of the group at the other end. This property was discovered by [Roth] in his proof of the correctness of Gabriel Kron’s then controversial methods for analyzing electrical circuits [Bow82], and turns out to have profound implications: the entirety of Maxwell’s equations and their interrelationships can be expressed by a ladder with two rungs plus four terminating endnodes [Bowden], and [Tonti] has  independently  shown similar relationships for electromagnetism and relativistic gravitational theory. Roth’s twisted isomorphism (his term) thus reveals the deep structure of the concept of boundary, and shows that the complete story requires both homology and cohomology.
5.2 Generalizing the Twisted Isomorphism Hierarchy
Each level of a ladder hierarchy, as presented so far, is built entirely from entities (ie. sensors) from the level immediately underneath, leading to what we call a ‘pancake’ hierarchy. But this is an unnecessary limitation, from which we now generalize.
Let be the set of sensors at level . Similarly, let be the set of (sensors expressing the presence of) goals at level . A pancake meta hierarchy of 2actions can now be characterized by , where is the cartesian product mediated by . Other, more general, hierarchical forms are now easily seen:

, , yielding nonpancake meta hierarchies; and of course the product may be over 2 levels. Aside from this, however, the semantics is roughly as before;

, yielding a purely goalbased icarian hierarchy, roughly similar to a functioncomposition hierarchy;

, yielding a combined abstraction over the underlying ladder level(s) that we call a morphic hierarchy.
Figure 2 illustrates the latter two, and we note that the morphic level in (a) may in principle ‘cross’ levels more radically, eg. as (b) does. We call these generalized forms orthohierarchies.
Icarian actions provide a means for a computation to express, selfreflectively, the way it carries out its goals. Morphic actions provide a means for a computation to express, selfreflectively, the relationship between and that is otherwise buried in . All three generalizations are supported by Topsy.
5.3 Causality
In our view, the concept of causality is intertwined with those of hierarchy, atomicity, and sequence: hierarchy is atomicity, atomicity (one level down) is sequence, sequence is exclusion.
Ordinary, everyday causality says that if the precondition of action is satisfied, and occurs, then caused . The troubles begin when eg. (1) we may not assume that is atomic, since other processes can now in principle access and change ’s intermediate states; and (2) there are superposed states.
Since coexclusion keys on the mutual exclusion of two compound states, each of whose components also exclude, the entity it produces represents a mutual exclusion of a particular kind, namely, an exclusion whose violation produces literal meaninglessness. Pauli’s exclusion principle [that no two electrons may be in the same state at the same time] is an example, since without it the way electrons form shells cannot be understood, whereas with it everything makes sense. This is quite unlike the moreorless arbitrary mutexes we introduce by hand into programs to ensure a desired behavior. The mutual exclusions captured by coexclusion express an inherent definition of an inner, mutual, logical consistency that is not the slightest bit arbitrary.
Hence, presuming that above is atomic in this way, it itself simply cannot, simultaneously, perform any other transition than the one given to it (namely ). The only other possibility is that the transition does not occur. But, this is only when viewed at the ladderlevel at which is defined. If then we wish to discuss simultaneously both and its components at the next level down, we must do so explicitly, which means that we must treat the entire structure . The simple causality story is no longer adequate because there is an unavoidable definitional interplay between levels. But, we claim, the ladderhierarchical tools we present here, eg. morphic abstraction for the above causal analysis, provide a framework wherein the issues can be formulated with precision: we can simultaneously and rigorously ‘observe’ and treat , its components, the interplay with other actions, and this entire whole. In contrast, it is unobvious how to do this using function composition hierarchy.
The overall moral is that one must always keep in mind which levels of hierarchy one has engaged conceptually. Only when a single level is in play can one hope to simplify to ordinary Newtonian causality and use (eg.) the action composition rules given earlier.
6 Summary and Conclusion
We have shown how Pratt’s original insight, taken in a different direction, leads to a radically new way to describe distributed computations. The current functionoriented focus on strings of events is replaced by a new kind of hierarchical abstraction that is squarely based on the phenomena peculiar to concurrent systems. The result is a model of concurrent computation where the duality of state and action, the interplay of atomicity and hierarchy, and causality and sequence can be treated in an integrated and mathematically powerful framework. This same framework can also describe selforganizing and selfreflecting computations.
Equally important is the fact that this strongly hierarchical approach can tell us how to reduce macroscopic algorithms to quantummechanical circuits, and how to design and produce microassembled quantum devices. It also offers a way to understand such extremely complex things as DNAdirected assembly and living systems, and in general, to connect computing to contemporary physical mathematics in a way that mathematical logic never can.
Very little of this is possible with today’s models of computation, mired as they are in concepts that are fundamentally sequential. We think it’s time to change horses!
Acknowledgements. Thanks to IEEE for permission to reprint the Coin and Block demonstrations; to Luca Aceto and Uwe Nestmann; and especially to my students.
References
Bastin, T. and Kilmister, C.W. Combinatorial Physics. World Scientific, 1995. ISBN 9810222122.
Bastin, T. and Kilmister, C.W. “The Combinatorial Hierarchy and Discrete Physics”. Int’l J. of General Systems, special issue on physical theories from information (in press).
Bowden, K. “Physical Computation and Parallelism (Constructive PostModern Physics)”. Int’l J. of General Systems, special issue on physical theories from information (in press).
Bowden, K. Homological Structure of Optimal Systems. PhD Thesis, Department of Control Engineering, Sheffield University UK. 1982.
Feynman, R. The Character of Physical Law. British Broadcasting Corp. 1965.
Gelernter, D. “Generative Communication in Linda”. ACM Transactions on Programming Languages, 1985.
Herlihy, M. and Rajsbaum, S. “Algebraic Topology and Distributed Computing  A Primer”. Lecture Notes in Computer Science, v. 1000, pp. 203217. Springer Verlag, 1995.
Herlihy, M. and Shavit, N. “A simple constructive computability theorem for waitfree computation”. In Proceedings 26th Annual ACM Symposium on Theory of Computing, pp. 243252, May, 1994.
Hestenes, D. and Sobczyk, G. From Clifford Algebra to Geometric Calculus. Reidel, 1989.
Hestenes, D. New Foundations for Classical Mechanics. Reidel, 1986. The first 40 pages contain a very nice, historical introduction to the vector concept and Clifford algebras.
Manthey, M. “Synchronization: The Mechanism of Conservation Laws”. Physics Essays (5)2, 1992.
Manthey, M. “Toward an Information Mechanics”. Proceedings of the 3rd IEEE Workshop on Physics and Computation; D. Matzke, Ed. Dallas, November 1994. ISBN 081866715X.
Manthey, M. Distributed Computation, the Twisted Isomorphism, and AutoPoiesis. Proceedings of the 1 Int’l Conference on Computing Anticipatory Systems (CASYS97). Liege, Belgium; August 1997, D. Dubois, Ed.
Manthey, M. US Patents 4,829,450, 5,367,449, and others pending. The intent is to license freely (on request) to individuals and research or educational institutions for nonprofit use. See [www] for licensing information.
Matsuno, K. Protobiology: Physical Basis of Biology. CRC Press, Inc. 1989. ISBN 0849364035.
ParkerRhodes, F. Theory of Indistinguishables  A Search for Explanatory Principles Below the Level of Physics. Reidel. 1981.
Phipps, T. “Proper Time Synchronization”. Foundations of Physics, vol 21(9) Sept. 1991.
Penrose, R. The Emperor’s New Mind. Oxford University Press, 1989. ISBN 0198519737.
Pope, N.V. and Osborne, A.D. “Instantaneous Relativistic ActionataDistance”. Physics Essays, 5(3) 1992, pp. 409420.
Pratt, V. “Modelling Concurrency with Partial Orders.” Stanford University Computer Science Department report STANCS861113. Also: Int’l J. of Parallel Programming, v15,1; and Pratt’s www homepage.
Pratt, V. “Chu Spaces and their Interpretation as Concurrent Cbjects”. Lecture Notes in Computer Science, v. 1000, pp. 392405. Springer Verlag, 1995.
Robert Rosen, Anticipatory Systems. Pergamon Press, 1985. ISBN 008031158x.
Rosen, R. Life Itself  A Comprehensive Inquiry into the Nature, Origin, and Fabrication of Life. Columbia University Press, 1991. ISBN 0231075642.
Roth, J.P. “An Application of Algebraic Topology to Numerical Analysis: On the Existence of a Solution to the Network Problem”. Proc. US National Academy of Science, v.45, 1955.
Smolensky, P. “Tensor Product Variable Binding and the Representation of Symbolic Structures in Connectionist Systems”. Artificial Intelligence 46 (1990) 159216. Elsevier Science Publishers B.V. (NorthHolland).
Tonti, E. “On the formal structure of the relativistic gravitational theory”. Accademia Nazionale Dei Lincei, Rendiconti della classe di Scienze fisiche, matematiche e naturali. Serie VIII, vol. LVI, fasc. 2  Feb. 1974. (In english.)
www. Various phase web and Topsy publications, including (soon) code distribution, are available via www.cs.auc.dk/topsy.
Notes.
0. In contrast to Linda, TLinda is not intended to be embedded in another, algorithmic, language but rather to be used as a pure coordination language. As such TLinda eg. contains only integer inc/dec, and no comparisons; extends Linda’s traditional out, in, rd and eval with co, notco and like operations; and in the interests of speed (which is respectable) requires predeclaration of tuples.
1. It sometimes troubles people that the elements of the cooccurrence (say) don’t seem at all indistinguishable  on the contrary, is clearly distinct from ! The confusion is understandable, and derives from confounding the value of a sensor with the synchronization token that represents the fact that the value (= process state) obtains for the moment. The difference is clearer in the implementation, where the tokens for the respective states of the sensor processes and are represented by the tuples [p,1] and [q,1̃], which tuples can be thought of as making precise exactly which state’s token is being referred to. The processes accessing such tuples in fact know a priori the exact form of the tuple (ie. state) they are interested in, so no information is conveyed by accessing such tuples (which is as it should be, since synchronization must not convey information between processes). Summa summarum, the sensor values are not what are distinguished, but rather the tokens representing the associated sensorprocess states, and these tokens are indistinguishable in time.
2. Figure (a) shows a single sensor’s states expressed as a vector, and (b) the way two such vectors can indicate a state, eg. the precondition of an action.
The mappings capture the connection to Pratt’s example.
3. Taking the classic vending machine example, let be the button that selects coffee () or tea (), the indicator of money present () or not (), and the indicator that the beverage is served () or not (); is reset to by removing the beverage from the machine. The action we want is , ie. . The automorphism then states that , ie. money together with no serving is transformed to no money and a serving. Invoking the lemma , that is, (coffee or tea) is present and unchanged throughout, then describes the vending machine’s basic behavior.
4. The boundary operator has a straightforward geometric interpretation. A triangle specified in terms of its vertices , has edges . Then . Since specifying the triangle’s edges in terms of its vertices means that edge is oriented oppositely to edge , we can rewrite the above as , which is indeed the boundary of the triangle (versus its interior).