Formal Relationships Between Geometrical and Classical Models for Concurrency
aa r X i v : . [ c s . D C ] J un Formal Relationships Between Geometrical andClassical Models for Concurrency ´Eric Goubault and Samuel Mimram ∗ September 29, 2018
Abstract
A wide variety of models for concurrent programs has been proposedduring the past decades, each one focusing on various aspects of computa-tions: trace equivalence, causality between events, conflicts and schedulesdue to resource accesses, etc. More recently, models with a geometricalflavor have been introduced, based on the notion of cubical set. These mo-dels are very rich and expressive since they can represent commutationbetween any number of events, thus generalizing the principle of true con-currency . While they are emerging as a central tool in concurrency, whichis very promising because they make possible the use of techniques fromalgebraic topology in order to study concurrent computations, they havenot yet been precisely related to the previous models, and the purposeof this paper is to fill this gap. In particular, we describe an adjunctionbetween Petri nets and cubical sets which extends the previously knownadjunction between Petri nets and asynchronous transition systems byNielsen and Winskel.
A great variety of models for concurrency was introduced in the last decades:transition systems (with independence), asynchronous automata, event struc-tures, Petri nets, etc. Each of these models focuses on modeling a particularaspect of computations, and even though their nature are very different, theyare tightly related to each other as witnessed in [43]. More recently, modelsinspired by ideas coming from geometry, such as cubical sets (also sometimescalled higher dimensional automata or HDA [30, 18]) or local po-spaces [12],have emerged as central tools to study concurrency: thanks to their nice al-gebraic structure, they allow one to carry on abstractly many computations,and they are very expressive because of their ability to represent commutationsbetween multiple events. However, since their introduction, they have not beensystematically and formally linked with the other models, such as transitionsystems, even though cubical sets contain a notion of generalized transition intheir very definition. ∗ CEA, LIST, Point Courrier 94, 91191 Gif-sur-Yvette, France. This work has been sup-ported by the PANDA (“Parallel and Distributed Analysis”, ANR-09-BLAN-0169) FrenchANR project. strongly labeled
HDA seem to be the rightnotion of HDA, at least for comparing with most other common models of con-currency. This also unravels interesting phenomena (besides being necessary forbeing able to relate semantics given in different styles) such as the fact that per-sistent set types of methods for tackling the state-space explosion problem canbe seen as searching for retracts of the state space, in the algebraic topologicalsense. We end this article by making some hypotheses on further relationships,with event structures and Petri nets in particular.2 elated work.
In this paper, we extend Winskel’s results [43], which includeadjunctions between transition systems, event structures, trace languages, asyn-chronous transition systems and Petri nets which are still an active researcharea [36]. A first step towards comparing higher-dimensional automata (a formof geometric semantics we are considering here), Petri nets, and event structuresis reported in [39]. Also, an investigation of the comparison between cubicalsets (another form of geometric semantics) and transition systems, as well astransition systems with independence was started in [16], but never formallypublished.We describe right adjoint functors from the categories of transition systems,asynchronous transition systems, Petri nets and prime event structures of [43],to HDA. By general theorems, these functors transport limits onto limits, hencepreserve classical parallel semantics based on pullbacks, by synchronized prod-ucts [1], as the ones in transition systems or the ones of [43]. Cubical sets (ormore generally HDA) that we take as the primary model for geometric seman-tics here, have appeared in numerous previous works, in algebraic topology inparticular [34, 4]. A monoidal presentation can also be found in [20]. The basicsof “directed algebraic topology” that is at the basis of the mathematics involvedin the geometric semantics we use here can be found in [19].
Contents of the paper.
We begin by recalling the geometric model providedby cubical sets in Section 1 and some well-known models for concurrent compu-tations (transition systems, asynchronous automata, event structures and Petrinets) in Section 2. We then relate them by defining adjunctions in Section 3.HDA naturally “contain” transition systems (resp. asynchronous transition sys-tems), which just encode the non-deterministic (resp. and pairwise indepen-dence) information. Event structures are also shown to be more abstract thanHDA: they impose binary conflict relations and conjunctive dependencies (anevent cannot depend on a disjunction of two events), and they do not distin-guish different occurrences of the same event. Petri nets have a built-in notionof degree of parallelism, as is the case of HDA (given by cell dimension) butimpose specific constraints on dynamics. We finally conclude on future worksin Section 4.
Precubical sets can be thought as some sort of generalized transition systemswith higher-dimensional transitions. Similarly to transition systems there is acorresponding notion with “idle transitions”, called cubical sets . These classicalobjects in combinatorial algebraic topology (see for instance [34]) have beenused as an alternative truly concurrent model for concurrency, in particularsince the seminal papers [30] and [38]. More recently, they have been used in[11] and [12] for deriving new and interesting deadlock detection algorithms.More algorithms have been designed since then, see for instance [31] and [9].In the following, we will be mostly using symmetric precubical sets . However,3e have done our best to introduce here the notion gradually, and recall somevariants as well as important properties.
A cubical set consists of a family ( C ( n )) n ∈ N of sets, the elements of C ( n ) be-ing called n -cells , together with for every pairs of integers n and i , such that0 i n , maps ∂ − i , ∂ + i : C ( n + 1) → C ( n ) and ι i : C ( n ) → C ( n + 1)respectively called source , target and degeneracy maps , satisfying ∂ βj ∂ αi = ∂ αi ∂ βj − ι i ι j = ι j − ι i (1)with i < j and α, β ∈ {− , + } and, for every α ∈ {− , + } , ∂ αj ι i = ι i ∂ αj − if i < j id if i = jι i − ∂ αj if i > j (2)A morphism κ : C → C ′ between two cubical sets C and C ′ consists of afamily ( κ n : C ( n ) → C ′ ( n )) n ∈ N of functions which is natural: for every index i and α ∈ {− , + } , κ n ◦ ∂ αi = ∂ αi ◦ κ n +1 and κ n +1 ◦ ι i = ι i ◦ κ n and we write CSet for the category thus defined. The (resp. )of an n -cell x ∈ C ( n ) is the 0-cell ∂ − . . . ∂ − ( x ) (resp. ∂ +0 . . . ∂ +0 ( x )).More conceptually, a cubical set C is a presheaf on the cubical category (cid:3) ,that is a functor C : (cid:3) op → Set , and a morphism of cubical sets is a naturaltransformation between the corresponding functors. Here, the cubical cate-gory (cid:3) is defined as the free category on the graph whose objects are naturalintegers n ∈ N and containing, for every integers i and n such that 0 i n and every α ∈ {− , + } , arrows ε αi,n : n → n + 1 and η i,n : n + 1 → n (3)quotiented by the relations expressing axioms dual to those given for cubicalsets (1) and (2) – so that for every index n , the function C ( ε αi,n ) corresponds to ∂ αi and C ( η i,n ) corresponds to ι i : ε βi,n +1 ε αj,n = ε αj − ,n ε βi,n +1 η j,n η i,n +1 = η i,n η j − ,n +1 (4)with i < j and α, β ∈ {− , + } , and for every α ∈ {− , + } , η i,n ε αj,n = ε αj − ,n − η i,n − if i < j id if i = jε αj,n − η i − ,n − if i > j .4he precubical category ⊡ is defined similarly with only the ε αi,n as generatorsand the first equations of (4) as axioms, and a precubical set is a presheaf onthe precubical category: a precubical set consists of a family ( C ( n )) n ∈ N of setstogether with a family of maps ∂ − i , ∂ + i : C ( n +1) → C ( n ) satisfying the equationson the left of (1). We write PCSet for the corresponding category.Given an integer n , we write (cid:3) n for the full subcategory of (cid:3) whose objectsare the integers k n . An n -dimensional cubical set is a presheaf on (cid:3) n and wewrite CSet n for the category of n -dimensional cubical sets. The inclusion func-tor (cid:3) n → (cid:3) induces by precomposition a functor U n : CSet → CSet n calledthe n -truncation functor (see Section 1.7). Example 1.
The geometric intuition underlying cubical sets is the followingone. An n -cell x of a cubical set should be seen as an n -dimensional cube, the ( n − -dimensional cubes ∂ − i ( x ) and ∂ + i ( x ) being respectively the source andtarget in dimension i of x , and the degeneracy maps ι i allowing us to see an n -dimensional cube as an ( n + 1) -dimensional one, degenerated in dimension i .So for example, a “cylinder” can be described as a precubical set C with C (0) = { x, y } C (1) = { f, g, h } C (2) = { α } C ( n ) = ∅ for n > with the following sources and targets, given by ∂ − ( f ) = ∂ +0 ( f ) = ∂ − ( h ) = x , ∂ − ( g ) = ∂ +0 ( g ) = ∂ +0 ( h ) = y , ∂ − ( α ) = ∂ +0 ( α ) = h , ∂ − ( α ) = f and ∂ +1 ( α ) = g .This cylinder can be pictured graphically as y g d d α x f e e h ? ? ⑧⑧⑧⑧⑧⑧⑧⑧ or x h / / f (cid:15) (cid:15) α y g (cid:15) (cid:15) x h / / y (in an unfold representation)From a concurrency point of view, a 1-cell corresponds to the occurrence ofan event (an action) and an n -cell corresponds to a commutation or an in-dependence between the 1-cells occurring in its faces. The cubical set aboverepresenting the cylinder thus corresponds intuitively to a program constitutedof two processes in parallel: a (while) loop (the actions f and g ) and a singleinstruction ( h ). See also Example 9. In previous example, the two transitions f and g are instances of a sameevent because they are parallel faces of the square α . This suggests that thenotion of event should be reconstructed in a precubical set as an equivalenceclass of transitions as follows. Suppose given a precubical set C . We definea relation ≈ as the smallest equivalence relation on 1-cells of C , such that forevery f, g ∈ C (1), f ≈ g when there exists y ∈ C (2) such that f = ∂ − i ( y )and g = ∂ + i ( y ), for i = 0 or i = 1. An event is the equivalence class of a 1-cellunder the relation ≈ . Given a morphism κ : C → D between precubical sets,two 1-cells of D in a same event are sent to two 1-cells of D in a same event;any such morphism thus induces a function κ / ≈ from the events of C to theevents of D . 5 .2 A monoidal definition of the cubical category A shorter description of the cubical category can be given if we take its monoidalstructure in account: the cubical category is the free monoidal category (that is,a category equipped with a coherent tensor product and unit [24]) containing aco-cubical object [20]. This will help in defining very concisely the adjunctionswe have in mind in Section 3.
Definition 2. A cubical object ( C, ε − , ε + , η ) in a monoidal category ( C , ⊗ , I ) consists of an object C together with three morphisms η : I → C ε − : C → I ε + : C → I such that ε − ◦ η = id I = ε + ◦ η A morphism f between two cubical objects ( C , ε − , ε +1 , η ) and ( C , ε − , ε +2 , η ) is a morphism f : C → C such that f ◦ η = η ε − ◦ f = ε − ε +2 ◦ f = ε +1 Dually, a co-cubical object (
C, ε − , ε + , η ) in C is a cubical object in C op . In the cubical category (cid:3) , (1 , ε − , ε + , η ) is a co-cubical object. The fact that (cid:3) is the free monoidal category containing a co-cubical object means that all thearrows of (cid:3) can be recovered from those by tensoring with identities ε αi,n = id i ⊗ ε α ⊗ id n − i and η i,n = id i ⊗ η ⊗ id n − i and that the axioms satisfied by the morphisms – the axioms dual of (1) and (2)– are precisely those imposed by the axioms of monoidal categories and thoseof co-cubical objects. This can be equivalently reformulated as follows: Proposition 3.
Given a monoidal category C , the category of monoidal func-tors (cid:3) → C and monoidal natural transformations is equivalent to the categoryof co-cubical objects in C . In other words, given a monoidal category C , a cubical object in C is “thesame” as a monoidal functor (cid:3) op → C . This definition of cubical sets hasbeen known for quite some time, but no concrete application of it has beendone up to now. Interestingly, we show here that it can be used to con-cisely define some cubical sets (see in particular Section 1.5). It is also some-times useful to define morphisms; for instance, given integers n and i suchthat 0 i n , and α ∈ {− , + } , we write ∂ α ¬ i : C ( n + 1) → C (1) for themorphism ∂ α ¬ i = C (( ε α ) ⊗ i ⊗ id ⊗ ( ε α ) ⊗ ( n − i ) ) where ( ε α ) ⊗ i denotes the tensorproduct of i copies of ε α .Similarly, monoidal functors ⊡ → C correspond to co-precubical objectsin C , where a precubical object ( C, ε − , ε + ) is an object C of C together with twoarrows ε − , ε + : C → I (and no axiom to be satisfied), and a co-precubical object is defined dually. 6 .3 From precubical sets to cubical sets In this section, we formalize the intuition that morphisms between precubicalsets are to morphisms between cubical sets what partial functions are to totalfunctions. Recall that a pointed set ( A, a ) consists of a set together with a distin-guished element a ∈ A , and a morphism f : ( A, a ) → ( B, b ) between two pointedsets consists of a function f : A → B such that f ( a ) = b . If we write Set ∗ forthe category of pointed sets, there is a forgetful functor U : Set ∗ → Set whichto every pointed set (
A, a ) associates the underlying set A . This functor ad-mits a left adjoint F : Set → Set ∗ which to every set A associates the freepointed set it generates, that is the pointed set ( A ⊎ {∗} , ∗ ) where ⊎ denotesthe disjoint union (we often use the notation ∗ for the newly added element).We write ? = G ◦ F for the monad on Set induced by this adjunction. It iswell-known [24] that
Proposition 4.
The category of sets and partial functions is isomorphic to theKleisli category
Set ? associated to the monad ? on Set . Moreover, this Kleislicategory is equivalent to the category
Set ∗ .Proof. A partial function f : A → B induces a morphism g : A → B in Set ? (i.e. a morphism g : A → ? B in Set ) defined on every x ∈ A by g ( x ) = f ( x )if f ( x ) is defined and g ( x ) = ∗ otherwise, where ? B = B ⊎ {∗} . Conversely,any morphism g : A → B in Set ? (i.e. morphism g : A → ? B in Set , with? B = B ⊎ {∗} ) induces a partial function f : A → B defined on every x ∈ A such that g ( x ) = ∗ by f ( x ) = g ( x ). These two operations can easily be shown tobe inverse of each other, thus exhibiting an isomorphism between the categoryof sets and partial functions and the Kleisli category Set ? .By general properties of monads (see [24], exercises p. 144), the category Set ? is equivalent to the full subcategory of Set ∗ whose objects are of the form F A for some set A ∈ Set . Moreover, every object (
A, a ) of
Set ∗ is isomorphic to thepointed set F ( A \ { a } ). The categories Set ? and Set ∗ are thus equivalent.The proposition above formalizes the fact that a partial function f : A → B can be seen as a total function f : A → B ⊎ {∗} where f is “undefined”on an element a ∈ A whenever f ( a ) = ∗ . The second part of the proposi-tion states that this partial function can also be seen as a pointed function f : ( A ⊎ {∗} , ∗ ) → ( B ⊎ {∗} , ∗ ).The situation between precubical sets and cubical sets is very similar. Thereis an obvious inclusion functor ⊡ → (cid:3) , which by precomposition, induces aforgetful functor U : CSet → PCSet on the corresponding presheaf cate-gories. By general theorems (see Section 1.7), this functor admits a left adjoint F : PCSet → CSet . As previously, we write ? = G ◦ F for the induced monadon PCSet and
PCSet ? for the Kleisli category associated to the monad. Themorphisms in PCSet ? should be thought as “partial morphisms of precubicalsets”. And actually, this category can be shown to be isomorphic to a cate-gory whose objects are precubical sets and morphisms κ : C → D are families( k n : C ( n ) → D ( n )) n ∈ N of partial functions satisfying suitable properties, whichwe do not need to detail here. 7ne of the main interests of expressing the “partial” variants of models asKleisli constructions is that this enables us to easily lift the adjunctions betweenmodels into adjunctions between their partial variants. Namely, Proposition 5.
Suppose that C and D are categories and with S and T monadson respectively C and D . Suppose moreover that U : D → C is a functor suchthat U ◦ T = S ◦ U and F sends the unit and the multiplication of T to the unit and the multiplica-tion of U . Then U has a left adjoint if and only if the functor U ◦ I D : D T → C S has a left adjoint, where I D : D T → D is the canonical comparison functorbetween the Kleisli category D T associated to T and D . This property, which is proved in a more general version in [27], thus enablesus to lift an adjunction between the categories C and D into an adjunctionbetween the corresponding Kleisli categories C S and D T . In the following, itwill be particularly useful to lift adjunction between models into adjunctionsbetween corresponding models with partial morphisms. One sometimes needs more structure on cubical sets in order to formally expressthe fact that the cells of dimension n > z in a cubical set as shown on the left of x x y = = ③③③③③ z x y a a ❉❉❉❉❉ x y a a ❉❉❉❉❉ y = = ③③③③③ x x y = = ⑤⑤⑤⑤⑤ z ′ x y a a ❇❇❇❇❇ x y a a ❇❇❇❇❇ y = = ⑤⑤⑤⑤⑤ there should also be a “mirror” cell z ′ as shown on the right, expressing the factthat z is not really directed from y y to y y . The symmetry of the cubicalcategory will associate to each two cell a “mirror” 2-cell in this way (it actuallyalso generalizes this principle to higher dimensions). The need for symmetry isalso explained in the case of labeled cubical sets in Example 9.The symmetric cubical category (cid:3) S is the free symmetric monoidal categorycontaining a co-cubical object. The presheaves on this category are called sym-metric cubical sets and they form a category SCSet . The category (cid:3) S can alsobe described as the free monoidal category containing a symmetric co-cubicalobject ( C, ε − , ε + , η, γ ), which is a co-cubical object ( C, ε − , ε + , η ) together witha morphism γ : C ⊗ C → C ⊗ C satisfying usual axioms for symmetry( γ ⊗ C ) ◦ ( C ⊗ γ ) ◦ ( γ ⊗ C ) = ( C ⊗ γ ) ◦ ( γ ⊗ C ) ◦ ( C ⊗ γ ) γ ◦ γ = γ (5)8nd γ ◦ ( ε − ⊗ C ) = C ⊗ ε − γ ◦ ( ε + ⊗ C ) = C ⊗ ε + ( η ⊗ C ) ◦ γ = C ⊗ ηγ ◦ ( C ⊗ ε − ) = ε − ⊗ C γ ◦ ( C ⊗ ε + ) = ε − ⊗ C ( C ⊗ η ) ◦ γ = η ⊗ C see [20] for the details. Alternatively, the notion of symmetric cubical set can beequivalently reformulated as a cubical set C together with, for every integer n ,an action of the symmetric group Σ n on C ( n ) – the action of the transpositionbeing given by C ( γ ) : C (2) → C (2) – which satisfies the following coherenceaxioms: for every integers n and i such that 0 i n and every α ∈ {− , + } ,– for every ( n + 1)-cell x and permutation σ ∈ Σ n +1 , ∂ αi ( σx ) = ∂ ασ ( i ) ( x )– for every n -cell x and permutation σ ∈ Σ n , ι i ( σx ) = ι σ ( i ) ( x )Namely, any symmetry σ : n → n (i.e. a bijection on a set with n elements) canbe decomposed as a product of transpositions and can therefore be seen as amorphism in (cid:3) S by sending the transposition σ i : n → n , which exchanges the i -th and ( i + 1)-th element, to the morphism i ⊗ γ ⊗ ( n − i − γ , as well as the axioms of monoidal categories, ensure that thisoperation is well defined. In the following, we will thus sometimes implicitlyconsider a bijection as a morphism in the category (cid:3) S . Given a symmetricmonoidal category C (such as Set with cartesian product), any cubical objectof the underlying monoidal category of C can be canonically equipped with astructure of symmetric cubical set, the morphism γ being given by the symmetryof the category.Given an integer n , we write ( (cid:3) S ) n for the full subcategory of (cid:3) S whose ob-jects are integers k n and SCSet n for the category of presheaves on ( (cid:3) S ) n ,whose objects are called n -dimensional symmetric cubical sets . The symmetricprecubical category ⊡ S is defined similarly as the free symmetric monoidal cat-egory containing a co-precubical object and we write SPCSet for the categoryof presheaves on ⊡ S , whose objects are called symmetric precubical sets . Noticethat many of the usual models for concurrency can be equipped with a similar,and often related, notion of symmetry: for instance event structures [42, 36], orPetri nets [21]. We have explained that the 1-cells of a cubical set can be seen as occurrences ofevents in the semantics of a concurrent computational process. One sometimesneeds to remember to which instruction of the process it corresponds. Labeled(pre)cubical sets formally allows this. The presentation given here is adaptedfrom [17], see also [13].Suppose that we are given a set L of labels . The category ( Set , × ,
1) hasfinite products and is thus monoidal with the cartesian product as tensor andthe terminal set 1 = {∗} as unit (for simplicity, we consider that the monoidalstructure is strict). The set L can be canonically equipped with a structure ofsymmetric precubical object ( L, ε − , ε + , γ ) where ε − , ε + : L → γ : L × L → L × L is the canonical transposition. Accordingto the preceding remarks, it thus induces a symmetric precubical set noted ! L and called the labeling precubical set on L . Moreover, if L ′ is another set oflabels, any function f : L → L ′ induces a morphism between the correspondingco-precubical objects, and therefore induces a morphism ! f : ! L → ! L ′ , ex-tending this operation into a functor. An explicit description of the precubicalset ! L can be given as follows: its n -cells l ∈ ! L ( n ) are lists l = ( e i ) i The functor E : SPCSet → Set , which to every precubicalset C associates its set C (1) / ≈ of events (see Section 1.1) and to every mor-phism κ : C → D associates the function ( κ / ≈ ) : ( C (1) / ≈ ) → ( D (1) / ≈ ) ,admits ! as right adjoint.Proof. Suppose given a precubical set C and a set L . To every given function f : ( C (1) / ≈ ) → L , we associate the morphism ψ ( f ) : C → ! L defined on an n -cell x as the n -cell ( f ( ∂ −¬ ( x )) , . . . , f ( ∂ −¬ ( n − ( x ))) of ! L , where the function ∂ α ¬ i is defined in Section 1.2. Conversely, to every morphism κ : C → ! L of cubicalsets, we associate the function ψ ( κ ) : ( C (1) / ≈ ) → L defined as κ / ≈ : thisis well defined since the events of ! L are (in bijection with) the elements of L .Finally, is it straightforward to check that the functions ϕ and ψ are naturalin C and L , and inverse of each other. Remark . The cofree non-symmetric labeling precubical set on a set L couldbe defined in the same way, but a direct description is more difficult. It canfor example be obtained from the symmetric labeling precubical set ! L on L byquotienting by the action of symmetries.Recall that given categories C , D and E and functors F : C → E and G : D → E , the slice category F ↓ G (sometimes also called comma category ) isthe category whose objects are triples ( A, f, A ′ ) where A is an object of C , A ′ is an object of D and f : F A → GA ′ is a morphism of E , and whose morphisms( h, h ′ ) : ( A, f, A ′ ) → ( B, g, B ′ ) are the pairs of morphisms h : A → B of C and h ′ : A ′ → B ′ of D making the diagram F A f (cid:15) (cid:15) F h / / F B g (cid:15) (cid:15) GA ′ Gh ′ / / GB ′ commute. By abuse of notation, we often write D ↓ G for the category Id D ↓ G .A labeled variant of cubical sets is defined as follows.10 efinition 8. The category of labeled symmetric precubical sets , denoted by LSPCSet , is the slice category SPCSet ↓ ! . By Proposition 6, a given labeled symmetric precubical set ( C, ℓ, L ) (defined by C ∈ SPCSet , L ∈ Set and ℓ : C → ! L ) can also be seen as a triple ( C, ℓ, L )with the function ℓ : E ( C ) → L associating a label to each event of C . In otherwords, the category LSPCSet is isomorphic to E ↓ !, where E is the eventfunctor introduced in Proposition 6. Example 9. The CCS processes ab + ba and ( a | b ) respectively induce labeledsymmetric cubical sets of the form zy b > > ⑤⑤⑤⑤⑤ y a ` ` ❇❇❇❇❇ x a ` ` ❇❇❇❇ b > > ⑤⑤⑤⑤ and zy b > > ⑤⑤⑤⑤⑤ α β y a ` ` ❇❇❇❇❇ x a ` ` ❇❇❇❇ b > > ⑤⑤⑤⑤ with in the second case two squares α and β attached in the middle, respectivelylabeled by ( a, b ) and ( b, a ) (and none in the first case): the presence of a squareindicates that the two actions a and b commute and more generally n -cubesindicate the commutation of n actions [15]. Notice that the symmetry intuitivelyenables us to say that the cell labeled by ab is “the same as” the cell labeled by ba .In a non-symmetric case, there would be only one cell and there is no canonicalchoice of naming for this cell (this is however sometimes overcome by supposingthat letters are totally ordered, but supposing this is not very natural). Notice that events provides a canonical labeling of symmetric precubical sets: Proposition 10. The forgetful functor U : LSPCSet → SPCSet which toevery labeled symmetric precubical set associates the underlying symmetric pre-cubical set (forgetting the labels) admits the functor E : SPCSet → LSPCSet as left adjoint, which to every symmetric precubical set C associates the labeledsymmetric precubical set ( C, ℓ, ! L ) where L = C (1) / ≈ is the set of events of C and ℓ is the morphism induced by the function ℓ : C (1) → L which to every1-cell associates its equivalence class under ≈ . This means in particular that all following results about labeled symmetricprecubical sets simply extend to the unlabeled case by considering precubicalsets labeled by their events. We thus only handle labeled cases in the following,since unlabeled structures are a particular instance.The category of labeled symmetric cubical sets is defined in a similar way.A given pointed set ( L, ∗ ) induces a symmetric cubical object ( L, ε − , ε + , η, γ )where ε − , ε + : L → η : 1 → L associates ∗ tothe unique element of 1 and γ : L × L → L × L is the canonical transpositionfunction. As previously, this induces a symmetric cubical set, that we stillwrite !( L, ∗ ), and can be shown to be cofree in the sense that11 roposition 11. The functor E : SCSet → Set ∗ , which to every cubical set C associates the pointed set obtained from C (1) / ≈ by identifying all equivalenceclasses containing an element of the image of ι to a single element ∗ chosenas distinguished element and to every morphism κ : C → D associates themorphism induced by κ : C (1) → D (1) , admits ! as right adjoint. Definition 12. The category of symmetric labeled cubical sets , denoted by LSCSet , is the slice category SCSet ↓ ! , which is isomorphic to E ↓ ! . An explicit description of !( L, ∗ ) is similar to the one of the labeling symmetricprecubical set: its n -cells are lists l = ( e i ) i A labeled cubical set ( C, ℓ ) is strongly labeled when there existsno pair of distinct k -cells, for some dimension k , whose sources and targets areequal, which have the same label: for every index k > , and every elements x, y ∈ C ( k ) such that for every index i < k ∂ i ( x ) = ∂ i ( y ) , if ℓ ( x ) = ℓ ( y ) then x = y . This condition can be seen as a labeled and higher dimensional analogue ofWinskel’s “no ravioli” condition for HDA [42], which imposes that two parallel1-cells should be equal, and corresponds to being separated wrt a Grothendiecktopology. A pointed cubical set ( C, i ) is a cubical set together with a distinguished 0-cell i ∈ C (0). The notion of higher dimensional automaton can be seen as a gener-alization of the classical notion of automaton to higher dimensional transitionsystems: 12 efinition 14. A higher dimensional automaton (or HDA ) is a pointed labeledsymmetric cubical set C , the distinguished element i being called the initial state .A morphism of HDA is a morphism between the underlying labeled symmetriccubical sets which preserves the initial state. Given a category C of cubical sets, we often write C ∗ for the correspondingcategory of pointed cubical sets. We write HDA = LSCSet ∗ for the categoryof HDA and sHDA = LSPCSet ∗ for the category of strict HDA . We alsowrite HDA n = LSCSet ∗ n for the subcategories for truncated HDA.A path p : x −→→ x ′ in an HDA C is a finite sequence ( y i ) i Suppose given two categories C and D , where C is small, anda functor I : C → D between them. . The functor ˆ I : ˆ D → ˆ C admits both a left and a right adjoint and wewrite T for the monad induced on ˆ C .2. The Kleisli category D T associated to the monad T embeds fully and faith-fully into ˆ D .3. When I is bijective on objects, the adjunction is monadic which meansthat the category ˆ D is equivalent to the category C T of algebras for themonad T on ˆ C .Proof. (i) and (ii) are standards properties [23]. In particular, the free presheafin ˆ D on a presheaf C ∈ ˆ C can be computed as the left Kan extension of C along I (and similarly for the right adjoint).(iii) This fact does not seem to be very well-known and can be found forexample p. 105 of [3]. We have seen that the functor ˆ I admits a left adjoint.Since it is the bijective on objects it is conservative (it reflects isomorphisms):an isomorphism between presheaves is simply a natural transformation betweenthem whose components are all invertible. Moreover, presheaf categories arecocomplete; in particular, they have all equalizers, these are computed pointwiseand they are thus preserved by precomposition with U . We can conclude byusing Beck’s monadicity theorem [24].Notice that this generalizes in particular the situation described in Section 1.3.This property is very interesting because, it means that all the forgetfulfunctors between variants of categories of cubical sets admit both left and rightadjoint:– functors forgetting structure: SCSet → CSet , CSet → PCSet , PCSet → Set , etc. SCSet n → CSet n , CSet n → PCSet n , PCSet n → Set , etc.– truncation functors: SCSet → SCSet n , CSet → CSet n , etc.These adjoints will allow us to compute for example the free cubical set on aprecubical set and so on, and will be used in the following. As an illustration,consider the functor PCSet → PCSet n . Given an n -dimensional precubi-cal set C , the left adjoint sends C to the precubical set D whose k -cells are D ( k ) = C ( k ) for k n and D ( k ) = ∅ otherwise. The action of the right adjointis more subtle: it sends C to the precubical set obtained from C by “filling in”all the k -dimensional cubes, with k > n , by a k -cell.The analogy between the adjunction between sets and pointed sets and theadjunction between precubical sets and sets, can be related with the constructionof labeling cubical sets as follows. 14 emma 16. The diagram Set F - - I (cid:15) (cid:15) ⊤ SPCSet E k k J (cid:15) (cid:15) Set ∗ H - - ⊥ SCSet G k k commutes, in the sense that J ◦ F = H ◦ I and G ◦ J = I ◦ E , where E (resp. H ) is the functor which to every symmetric precubical (resp. cubical set)associates its set (resp. pointed set) of events described along with their rightadjoints in Section 1.5, and I (resp. J ) is the left adjoint to the forgetfulfunctor Set ∗ → Set (resp. SCSet → PCSet ). It could be hoped that previous Lemma would provide the starting point ofa lifting of the adjunctions between SPCSet and SCSet to adjunctions be-tween LSPCSet and LSCSet . However this is not the case: morphisms be-tween labels have to be total or partial in both the categories. It is howevereasy to show that Proposition 17. The forgetful functor LSCSet → wLSPCSet admits both aleft and a right adjoint (and other adjunctions mentioned above can be lifted tothe labeled case in a similar way). Similar adjunctions also exist between thevariants where functions between labels are total. The choice of partial or total functions between labels in the category of labeledsymmetric (pre)cubical sets is thus difficult to handle in a modular way. Thechoice has to be made once for all and in the following, we deliberately do notexplicit which one is made since all the constructions given here work in bothcases. Transition systems are one of the oldest semantic models, both for sequentialand concurrent systems, in which computations are modeled as the sequence ofinteractions that they can have with their environment. There is a convenientcategorical treatment of this model, that we use in the sequel, taken from [43]. Definition 18. A transition system is a quadruple ( S, i, E, T ran ) where– S is a set of states with initial state i ,– E is a set of events ,– T ran ⊆ S × E × S is the transition relation. 15n other words, a transition system is a graph together with a distinguishedvertex. Transition systems are made into a category by defining morphismsto be some kind of simulation (for then being able to discuss about propertiesmodulo weak or strong bisimulation, see [22]). The idea is that a transitionsystem T simulates a transition system T if as soon as T can fire some action a in some context, T can fire a as well in some related context. A morphism f : T → T defines the way states and transitions of T are related to statesand transitions of T making transition systems into a category TS . Definition 19. Let T = ( S , i , E , T ran ) and T = ( S , i , E , T ran ) betwo transition systems. A partial morphism f : T → T is a pair f = ( σ, τ ) where σ : S → S is a function and τ : E → E is a partial function such that– σ ( i ) = i ,– ( s, e, s ′ ) ∈ T ran and τ ( e ) is defined implies ( σ ( s ) , τ ( e ) , σ ( s ′ )) ∈ T ran .Otherwise, if τ ( e ) is undefined then σ ( s ) = σ ( s ′ ) . As in [43], we can restrict to strict morphisms, i.e. the ones for which τ isa total function, by suitably completing transition systems. Partial morphismscan then be recovered by adding “idle” transitions to the systems, similarlyto the construction of the category of sets and partial functions as the Kleislicategory associated to the free pointed set monad ? on Set given in Section 1.3.An idle transition is a transition ∗ which goes from a state s to the samestate s . Consider the following completion T ∗ = ( S ∗ , i ∗ , E ∗ , T ran ∗ ) of a tran-sition system T = ( S, i, E, T ran ), by setting S ∗ = S , i ∗ = i , E ∗ = E ⊎ {∗} and T ran ∗ = T ran ⊎ { ( s, ∗ , s ) | s ∈ S } . Now, by the preceding remarks a totalmorphism ( σ, τ ) from ( T ) ∗ to ( T ) ∗ such that τ ( ∗ ) = ∗ is the same as a partialmorphism from T to T . Again, the operation ( − ) ∗ induces a monad on the cat-egory sTS of transition systems and strict morphisms, and the category TS canbe recovered as the Kleisli category associated to this monad. Likewise, all themodels for concurrency considered in this article admit a “strict” variant, fromwhich the “non-strict” model can be reconstructed by a Kleisli construction.For lack of space we will not detail all the variants here. Example 20. The CCS processes a · ( b + c ) , a · ( b | c ) and a · ( b · c + c · b ) respectivelyinduce the following transition systems: yy b I I c U U x a O O zy c > > ⑤⑤⑤⑤⑤ y b ` ` ❇❇❇❇❇ y b ` ` ❆❆❆❆ c > > ⑥⑥⑥⑥ x a O O zy c > > ⑤⑤⑤⑤⑤ y b ` ` ❇❇❇❇❇ y b ` ` ❆❆❆❆ c > > ⑥⑥⑥⑥ x a O O Asynchronous automata are a nice generalization of both transition systems andMazurkiewicz traces, and have influenced a lot of other models for concurrency,16uch as transition systems with independence (or asynchronous transition sys-tems). They have been independently introduced in [35] and [2]. The idea is todecorate transition systems with an independence relation between actions thatwill allow us to distinguish between true-concurrency and mutual exclusion (ornon-determinism) of two actions. For example, the two last transition systemsof Example 20 do not allow us to distinguish between processes which are ar-guably different from the concurrency point of view. We actually use a slightmodification for our purposes, due to [6], called automaton with concurrencyrelations : Definition 21. An automaton with concurrency relations ( S, i, E, T ran, I ) isa quintuple where– ( S, i, E, T ran ) is a transition system,– T ran is such that whenever ( s, a, s ′ ) , ( s, a, s ′′ ) ∈ T ran , then s = s ′′ ,– I = ( I s ) s ∈ S is a family of irreflexive, symmetric binary relations I s on E such that whenever we have a I s a (with a , a ∈ E ), there exist transi-tions ( s, a , s ) , ( s, a , s ) , ( s , a , r ) and ( s , a , r ) in T ran . A morphism of automata with concurrency relations consists of a morphism( σ, τ ) between the underlying transition systems such that a I s b implies that τ ( a ) I ′ σ ( s ) τ ( b ) whenever τ ( a ) and τ ( b ) are both defined. This makes automatawith concurrency relations into a category, written ACR . We also write sACR for the variant of this category where morphisms are strict morphisms. Again,the category sACR can be constructed from ACR by a Kleisli construction,using ∗ -transitions and total morphisms (the condition on the independence re-lation is then that a I s b implies τ ( a ) I ′ σ ( s ) τ ( b ) whenever τ ( a ) = ∗ and τ ( b ) = ∗ ). Example 22. The CCS processes a · ( b | c ) and a · ( b · c + c · b ) induces the labeledasynchronous transition systems whose underlying transition system are isomor-phic and shown in Example 20. The independence relation contains e b I y e c forthe first process (where e b and e c are the events with source y , labeled respectivelyby b and c ) and is empty for the second process. Event structures were introduced in [28, 41] in order to abstract away from theprecise places and times at which events occur in distributed systems. The ideais to focus on the notion of event and the causal ordering between them. Werecall below the definition of (unlabeled prime) event structures. Definition 23. An event structure ( E, , consists of a poset ( E, ) of events , the partial order relation expressing causal dependency , together witha symmetric irreflexive relation called incompatibility satisfying– finite causes: for every event e , the set { e ′ | e ′ e } is finite, hereditary incompatibility: for every events e , e ′ and e ′′ , e e ′ and e ′ e ′′ implies e e ′′ . We write ES for the category of event structures, a morphism between two eventstructures ( E, , E ′ , ′ , ′ ) consisting of a partial function f : E → E ′ which is such that– if f ( e ) is defined then { e ′ | e ′ f ( e ) } ⊆ f ( { e ′′ | e ′′ e } ),– and if f ( e ) and f ( e ) are both defined and we have either f ( e ) ′ f ( e )or f ( e ) = f ( e ) then either e e or e = e .A labeled event structure consists of an event structure ( E, , L of labels and a labeling function ℓ : E → L which to every eventassociates a label. A morphism ( f, λ ) : ( E, , , ℓ, L ) → ( E ′ , ′ , ′ , ℓ ′ , L ′ ) oflabeled event structure consists of a morphism f : ( E, , → ( E ′ , ′ , ′ )between the underlying event structures and a partial function λ : L → L ′ between the sets of labels such that ℓ ′ ◦ f = λ ◦ ℓ . We write LES for thecategory of labeled event structures. We also write sES (resp. sLES ) for thecategory of strict (labeled) event structures, defined as the subcategory of ES (resp. LES ) whose morphisms are total functions – these categories can also beobtained by suitable Kleisli constructions. Example 24. The CCS processes a · ( b + c ) , a · ( b | c ) and a · ( b · c + c · b ) respectivelyinduce the following labeled event structures (to be read from bottom up, thecontinuous lines representing the partial order and the dotted ones expressingincompatibilities): b ca ❃❃❃❃❃ (cid:0)(cid:0)(cid:0)(cid:0)(cid:0) b ca ❃❃❃❃❃ (cid:0)(cid:0)(cid:0)(cid:0)(cid:0) c bb ca ❃❃❃❃❃ (cid:0)(cid:0)(cid:0)(cid:0)(cid:0) Notice that in the last one, b and c appear twice: this is because we have figuredthe labels and not the events (and two distinct events can of course have thesame label). Petri nets are a well-known model of parallel computation, generalizing tran-sition systems by using a built-in notion of resource. This allows for derivinga notion of independence of events, which is much more general than the in-dependence relation of asynchronous transition systems. They are numerousvariants of Petri nets since they were introduced in [29], and we choose the def-inition used by Winskel and Nielsen in [43], since this is well-suited for formalcomparisons with other models for concurrency: Definition 25. A Petri net N is a tuple ( P, M , E, pre , post) where P is a set of places ,– M ∈ N P is the initial marking ,– E is a set of events ,– pre : E → N P and post : E → N P are the precondition and postcondition functions. When there is no ambiguity, given an event e of a Petri net N , we often write • e for pre( e ) and e • for post( e ). A marking M is a function in N P , which associatesto every place the number of resources (or tokens) that it contains. The sum M + M of two markings M and M is their pointwise sum. An event e inducesa transition between two markings M and M , that we write M e −→ M ,whenever there exists a marking M such that M = M + • e and M = M + e • .A morphism of Petri nets ( ϕ, ψ ) : N → N ′ , between the two Petri nets N = ( P, M , E, pre , post) and N ′ = ( P ′ , M ′ , E ′ , pre ′ , post ′ ), consists of a func-tion ϕ : P ′ → P and a partial function ψ : E → E ′ such that for every place p ∈ P ′ and event e ∈ E , M ′ = M ◦ ϕ , • ψ ( e ) = • e ◦ ϕ and ψ ( e ) • = e • ◦ ϕ .We write PNet for the category of Petri nets and sPNet for the subcategorywhose morphisms have total functions on events. Notice that the partial func-tion ϕ : P ′ → P on places goes “backwards”. This might seem a bit awkwardat first sight and we explain why this is the “right” notion of morphism inRemark 37.A labeled Petri net is a Petri net together with a set L of labels and afunction ℓ : E → L labeling events. The notion of morphism of Petri nets canbe extended in a straightforward way to labeled ones and we write LPNet for the category of labeled Petri nets and sLPNet for the subcategory whosemorphisms are total functions. Example 26. The CCS processes a · ( b + c ) , a · ( b | c ) and a · ( b · c + c · b ) respectivelyinduce the following labeled Petri nets: ab c ab c abc c b In the diagrams above, we have used the usual notation for Petri nets: squarenodes represent transitions, circled ones represent places (with dots indicatingtokens) and arrows represent pre- and postconditions. Relating models for concurrency The purpose of this section is to relate traditional models introduced in Section 2with the geometric models of Section 1 (mainly HDA). In this section, we relate labeled transition systems and HDA. We begin byrelating transition systems to the category of 1-dimensional HDA by definingtwo adjoint functors F : sHDA → sTS and G : sTS → sHDA We define the functor F as follows. To a 1-dimensional HDA C labeled by L ,we associate the transition system ( S, i, E, T ran ) defined by S = C (0), i beingthe distinguished element of C , E = L and the transitions being defined by T ran = { ( ∂ − ( e ) , ℓ ( e ) , ∂ +0 ( e )) | e ∈ E } . And to any morphism ( ϕ, λ ) : C → D between labeled precubical sets, we associate the morphism ( σ, τ ) which is de-fined by σ = ϕ : C (0) → D (0) and τ = λ . The functor is defined in the obviousway on morphisms.Conversely, the functor G is defined as follows. To any transition sys-tem T = ( S, i, E, T ran ), we associate the strict 1-dimensional HDA C labeledby E whose underlying precubical set C is such that C (0) = S , C (1) = T ran ,the face morphisms ∂ − : C → C and ∂ +0 : C → C are respectively de-fined by ∂ − ( s, e, s ′ ) = s and ∂ +0 ( s, e, s ′ ) = s ′ , the labeling function is definedby ℓ ( s, e, s ′ ) = e and the distinguished element is the distinguished element i ∈ C (0). To any morphism ( σ, τ ) : ( S , i , E , T ran ) → ( S , i , E , T ran ) weassociate the morphism ( κ, λ ) of HDA, where κ is the morphism of pointed1-dimensional precubical set whose components are κ = σ and κ = τ , themorphism λ between labels being τ . The functor is defined in the obvious wayon morphisms.The functors defined above enable us to relate both models: Theorem 27. The functor F : sHDA → sTS defined above is left adjointto the functor G : sTS → sHDA . The comonad F ◦ G on sTS is the iden-tity and the adjunction restricts to an equivalence of categories between the fullsubcategory of sHDA whose objects are strongly labeled.Proof. Suppose given a transition system T = ( S, i, E, T ran ) and a 1-dimen-sional HDA C = ( C, i ). We construct a natural bijection between morphisms F C → T in sTS and morphisms C → GT in sHDA . To every morphism( σ, τ ) : F C → T of transition systems we associate the morphism of HDA ϕ C,T ( σ, τ ) : C → GT defined as ( κ, λ ) where κ = σ and κ = λ = τ . Con-versely, to every morphism ( κ, λ ) : C → GT of HDA we associate the morphism ψ C,T ( κ, λ ) : F C → T of transition systems defined as ( κ , λ ). These operationsare mutually inverse and can easily be shown to be natural. The second part ofthe proposition can be checked directly.20ow, recall that the category TS can be defined as the Kleisli category as-sociated to the monad ( − ) ∗ on sTS . Similarly, the adjunction between sHDA and HDA given in Proposition 15 induces a monad ? on sHDA which “re-places” the underlying precubical set of an HDA by the cubical set it generates. Theorem 28. The adjunction of Theorem (27) lifts to an adjunction between TS and HDA , which induces an equivalence if we restrict HDA to strongly la-beled cubical sets.Proof. Consider a strict 1-dimensional HDA consisting of a precubical set C labeled by ℓ into L . Its image under the left adjoint F : sHDA → HDA to the forgetful functor HDA → sHDA is the 1-dimensional HDA whoseunderlying cubical set is D defined by D (0) = C (0), D (1) = C (1) ⊎ C (0) withface maps being ∂ αi ⊎ id C (0) : D (1) → D (0) as face maps and the canonicalinjection ι : D (0) → D (1) as degeneracy maps, whose labeling is obtained byextending ℓ : C (1) → (! L ) to D (1) by ℓ ( x ) = ( ∗ ) for x ∈ C (0) ⊆ C (1).From this concrete description, it can easily be checked that ? ◦ G = G ◦ ( − ) ∗ and that the unit and the multiplication of ( − ) ∗ are sent by G to the unitand multiplication of T . Finally, we deduce that the adjunction of Theorem 27lifts to an adjunction between the Kleisli categories TS and HDA respectivelyassociated to the monads ( − ) ∗ and ? using Proposition 5. Remark . The fact that we have to restrict to a subcategory of sHDA inTheorem 27 in order to obtain an equivalence of categories can be explained in-tuitively by remarking that in transition systems there is no distinction betweenevents and labels: in particular, a transition system cannot contain two distincttransitions with the same event between the same source and the same target.For example, the following labeled (pre)cubical set cannot be represented intransition systems: yx a U U a I I More generally, in higher dimensions most models do not have the possibility to“count” the number of commutations between events: usually, two transitionseither commute or not. This contrasts with cubical sets where a tile x x y = = ③③③③③ x y a a ❉❉❉❉❉ x y a a ❉❉❉❉❉ y = = ③③③③③ can be filled with many 2-cells. This explains why in the following most of thenice adjunctions will be obtained by restricting cubical sets to strongly labeledones. 21y Proposition 15, the truncation functor HDA → HDA admits a rightadjoint. By composing this adjunction with the one of previous theorem, weobtain an adjunction between TS and HDA . Remark . The HDA associated by the right adjoint to a transition sys-tem T = ( S, i, E, T ran ) can be described in a more direct way using Propo-sition 35 as generated by the cubical transition system ( S, i, E, ℓ, E ⊎ {∗} , t )where ℓ : E → E ⊎ {∗} is the canonical injection and t ( x, l ) = y if l is reducedto an event e and ( x, e, y ) ∈ T ran , see Section 3.4 for details. The adjunction given in previous section, can be extended to an adjunctionbetween the category of strict asynchronous automata sACR and the categoryof strict 2-dimensional HDA sHDA .To any strict 2-dimensional HDA C , the left adjoint F : sHDA → sACR associates the asynchronous automaton whose underlying transition system isinduced by the underlying 1-dimensional HDA of C and such that a I s a whenthere exists transitions ( s, a , s ), ( s, a , s ), ( s , a , r ) and ( s , a , r ) and a 2-cell y such that ∂ − ( y ) = ( s, a , s ), ∂ +0 ( y ) = ( s , a , r ), ∂ − ( y ) = ( s, a , s ) and ∂ +1 ( y ) = ( s , a , r ): rs a > > ⑥⑥⑥⑥⑥ y s a ` ` ❆❆❆❆❆ s a ` ` ❆❆❆❆ a > > ⑥⑥⑥⑥ (6)The functor is defined in the obvious way on morphisms.Conversely, an asynchronous automaton A = ( S, i, E, T ran, I ) is sent by theright adjoint G : sACR → sHDA to a strict 2-dimensional HDA C , whoseunderlying 1-dimensional HDA is induced by the underlying transition systemof A . The 2-cells are C (2) = I , where I is seen as a subset of E × S × E .Given a pair of events a and a related by I s for some state s , there existtransitions ( s, a , s ), ( s, a , s ), ( s , a , r ) and ( s , a , r ) and these are uniquelydefined by the second property of Definition 21 as in (6), face maps are definedon elements y = a , s, a of I by ∂ − ( y ) = ( s, a , s ) ∂ +0 ( y ) = ( s , a , r ) ∂ − ( y ) = ( s, a , s ) ∂ +1 ( y ) = ( s , a , r )and the labeling function is defined by ℓ ( a , s, a ) = ( a , a ). The requirementthat I is symmetric induces the symmetry of the HDA. The functor is definedin the obvious way on morphisms. Theorem 31. These functors form an adjunction between sACR and sHDA .The induced comonad on sACR is the identity and the adjunction induces anequivalence of categories if we restrict sHDA to the full subcategory of stronglylabeled HDA. Moreover, this adjunction lifts to an adjunction between ACR and HDA with similar properties. 22y composing with an adjunction given by Proposition 15, this induces anadjunction between ACR and HDA . We construct here an adjunction between sLES and sHDA . This adjunctionreformulates in the framework of HDA some well-known relations between eventstructures and transition systems with independence [33]. The study of relationsbetween the two models was initiated in [5] and a similar connection is describedin [36].A configuration of an event structure ( E, , E . An event e is enabled at a configuration x if e x and x ⊎ { e } is a configuration. A functor F : sLES → sHDA can bedefined as follows. To any labeled event structure ( E, , , ℓ, L ), it associatesthe 2-dimensional HDA C labeled by L whose 0-cells are the configurations ofthe event structure with the empty configuration as initial state, 1-cells are thepairs ( x, e ) where x is a configuration and e is an event enabled at x , and 2-cellsare the pairs ( x, e , e ) where x is a configuration and e , e are both enabledat x and such that e is enabled at x ⊎ { e } and e is enabled at x ⊎ { e } ,graphically: x ⊎ { e , e } x ⊎ { e } ( x ⊎{ e } ,e ) qqqqqqqqqqq ( x, e , e ) x ⊎ { e } ( x ⊎{ e } ,e ) f f ▼▼▼▼▼▼▼▼▼▼▼ x ( x,e ) g g ❖❖❖❖❖❖❖❖❖❖❖❖ ( x,e ) ♦♦♦♦♦♦♦♦♦♦♦♦ Notice for every 2-cell ( x, e , e ), ( x, e , e ) is also a 2-cell thus inducing a sym-metry on the precubical set. The functor is defined in the obvious way onmorphisms. Example 32. Consider the event structure ( E, , , ℓ, L ) , with E = { e , e , e } ,with e e and e e , labeled in L = { a, b, c } by ℓ ( e ) = a , ℓ ( e ) = b and ℓ ( e ) = c . This event structure is represented on the left and induces thetwo HDA on the right when b is respectively incompatible and compatible with cb ca ❃❃❃❃❃❃❃❃ (cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0) { a, b } { a, c }{ a } b c c ●●●●● c ; ; ✇✇✇✇✇ ∅ a O O { a, b, c }{ a, b } c sssss { a, c } b e e ❑❑❑❑❑ { a } b e e ❑❑❑❑❑❑ c ssssss ∅ a O O for simplicity we simply write e for a 1-cell ( x, e ) since x can be determined asthe source of the cell). The square on the right diagram is filled with two 2-cells: ( { a } , b, c ) and ( { a } , c, b ) . Conversely, we define a functor G : sHDA → sLES . The intuition is thatgiven an HDA C , the elements of G ( C ) should be the events of C in the senseof Section 1.1. However, event structures cannot express loops, which shouldtherefore be unfolded [43, 40, 8]. For example, an HDA of the form x a (cid:4) (cid:4) (7)with only one 0-cell and one looping 1-cell should have as image an event struc-ture with a countable totally ordered set of events. A 2-dimensional HDA is unfolded when it is– reachable : every 0-cell x is reachable,– acyclic : any path s : x −→→ x with the same source and target is empty,– unshared : any two parallel paths s, t : x −→→ x ′ are homotopic.This reformulates the notion of occurrence transition system with independence.To any 2-dimensional HDA C with i as initial state and ℓ : C → ! L as labelingfunction, one can associate an unfolded 2-dimensional HDA U ( C ) whose– 0-cells are the paths s : i −→→ x of C modulo homotopy,– 1-cells are the pairs ( s, m ) where s : i −→→ x is a path and m is a 1-cellsuch that ∂ − ( m ) = x , with ∂ − ( s, m ) = s and ∂ +0 ( s, m ) = s · m as sourceand target,– 2-cells are pairs ( s, z ) where s : i −→→ x is a path and z is a 2-cell suchthat ∂ − ∂ − ( z ) = x , with its faces defined by ∂ − i ( s, z ) = ( s, ∂ − i ( z )) and ∂ + i ( s, z ) = ( s · ∂ − − i ( z ) , ∂ + i ( z )),– the labeling function labels a 1-cell ( s, m ) by ℓ ( m ) and a 2-cell ( s, z ) by ℓ ( z ).This operation can easily be extended into a comonad on the category sHDA .For example, the image of the HDA (7) is x a / / x a / / x a / / . . . Now, to every unfolded 2-dimensional HDA C , one can associate a labeled eventstructure V ( C ) = ( E, , , ℓ, L ) such that E is the set of events of C in thesense of Section 1.1. We say that an event e occurs in a path s when s containsa 1-cell m such that m ∈ e . Two events e and e ′ are such that e e ′ when forevery path s · n : i −→→ x with n ∈ e ′ the event e occurs in s . Two events e e ′ are such that e e ′ when there is no path s : i −→→ x such that both e and e ′ occur in s . The labeling function is the labeling function of C (recall thatwe have shown in Section 1.5 that every labeled cubical set induces a labelingfunction on its events). The operation V is easily extended as a functor V from the category of unfolded 2-dimensional HDA to the category of labeledevent structures. Finally, we define the functor G : sHDA → sLES as thecomposite G = V ◦ U . Theorem 33. The composite functor G ◦ F is isomorphic to the identity functoron sLES . Thus sLES embeds fully and faithfully into sHDA .Proof. The adjunction between labeled event structure and transition systemswith independence described [33, 25] can be straightforwardly adapted to asyn-chronous transition systems and one obtains the result by composing with theadjunction described in previous section.Notice that we did not claim that F and G are part of an adjunction,because it is not the case. Namely, consider the effect of the endofunctor F ◦ G : sHDA → sHDA : we have pictured some HDA (on the left) togetherwith their image under F ◦ G (on the right): x x c O O x a H H b V V x x x c O O x c O O x a a a ❉❉❉❉❉ b = = ③③③③③ x a (cid:4) (cid:4) x a / / x a / / x a / / . . .yx a O O x ′ b _ _ ❄❄❄❄❄❄❄ yx a O O y b / / yx a a a ❈❈❈❈❈ b / / y a ` ` ❆❆❆❆❆ x c O O x a a a ❉❉❉❉❉ c O O b / / x c O O y b / / yx a a a ❈❈❈❈❈ / / y a a a ❈❈❈❈❈ x c O O / / y O O x a a a ❉❉❉❉❉ O O b / / x a a ❈❈❈❈❈ c O O x b b F F x a a a ❈❈❈❈❈❈❈❈ x a a a ❈❈❈❈❈❈❈❈ b = = ⑤⑤⑤⑤⑤⑤⑤⑤ x x b = = ⑤⑤⑤⑤⑤⑤⑤⑤ x a a a ❈❈❈❈❈❈❈❈ x a a a ❈❈❈❈❈❈❈❈ b = = ⑤⑤⑤⑤⑤⑤⑤⑤ In the third example, x is the initial position and in the last two examples allthe squares for which it makes sense are filled with 2-cells. These examples arerepresentative of various kinds of behaviors that can happen:– the first two examples show that “shared transitions” are “unshared”, andin particular loops are unrolled;– the third example shows that the unreachable 0-cells of the HDA areremoved,– the fourth example shows that if the HDA contains half of a cube then theother half of the cube is created, completing the cube – this is related tothe cube axiom which is often used to characterize asynchronous transitionsystems generated by an event structure [33];– the last example shows that HDA are made strongly labeled.Notice, if we write C for the HDA in the left of examples, in the first threeexamples there is a natural arrow T C → C (but not in the other direction),whereas in the last two examples there is a natural arrow C → T C (but not inthe other direction). So there is no hope that T would be either a monad or acomonad, and thus that F and G either form an adjunction in either direction.It can however be shown that G is right adjoint to F if we restrict sHDA to the full subcategory whose objects are strongly labeled and satisfy the cubeaxioms (which state that if an asynchronous transition system contains half ofa cube as in fourth example then it also contains the other half of the cube,as well as two other variants of this property). As previously, this adjunctioncan be extended to the non-strict variants of the models, as well as the wholecategory HDA . This adjunction can also be extended to an adjunction betweengeneral event structures (in which conflict is not necessarily a binary relation)and HDA. This section constitutes perhaps the most novel part of the paper. We ex-tend here previously constructed adjunctions between 1-bounded Petri Netsand asynchronous transition systems [43, 6, 26, 39] to an adjunction betweengeneral Petri Nets and HDA. For similar reasons as previously, one needs to26estrict to strongly labeled HDA in order to obtain a well-defined adjunction.We thus implicitly only consider strongly labeled HDA in the following. Cubical transition systems. We introduce here a general methodology forassociating a symmetric precubical set to a model for concurrent processes, thatwe will use in order to associate a strict HDA to a Petri net. Since monoidalfunctors preserve the unit of monoidal categories, all cubical sets generated bycubical objects in Set (i.e. by the functor ! introduced in Section 1.5) containonly one 0-cell. Cubical sets with multiple 0-cells can be generated by actions ofthe labeling cubical set on the 0-cells, formalized as follows, in the same way thata transition system can be seen as an action of the free monoid on labels over thestates. The resulting notion of cubical transition system (or CTS ) generalizesto the setting of cubical set the notion of step transition system [26] which is avariant of transition systems in which multiple events can occur simultaneously. Definition 34. A cubical transition system ( S, i, E, t, ℓ, L ) consists of– a set S of states ,– a state i ∈ S called the initial state ,– a set E of events ,– a transition function which is a partial function t : S × ! E → S ,– a set L of labels ,– a labeling function ℓ : E → L ,such that for every state x and every n -cell l of ! E for which t ( x, l ) is defined,1. if l = l · l for some cells l and l then t ( x, l ) and t ( t ( x, l ) , l ) are bothdefined and we have t ( x, l ) = t ( t ( x, l ) , l ) ,2. t ( x, ()) is defined and equal to x (where () denotes the 0-cell of ! E ),3. for every symmetry σ : n → n , t ( x, ! E ( σ )( l )) is defined and equal to t ( x, l ) . Cubical transition systems are thus generalized transition systems, whichmodify state upon incoming events. These differ from traditional transitionsystems in that they may accept a transition under n events e , . . . , e n , specifiedby a transition under the word e · · · e n ∈ ! E . With this understanding in mind,the axioms have simple interpretations: for example the first one states that thestate reached under two simultaneous events e and e is the same as the statereached under e followed by e .An n -cell l of ! E is enabled at a position x if t ( x, l ) is defined. Every suchCTS defines a strict HDA C labeled by L whose n -cells are pairs ( x, l ) where x is a state and l is an n -cell of ! E which is enabled at x . Source and targetfunctions are defined by ∂ − i ( x, l ) = ( x, ∂ − i ( l )) and ∂ + i ( x, l ) = t ( t ( x, e i ) , ∂ + i ( l ))where e i is the i -th element of l and symmetries by σ ( x, l ) = ( x, ! E ( σ )( l )). Thelabeling function is ! ℓ and the initial state is i .27 morphism ( σ, τ, λ ) : ( S , i , E , ℓ , L , t ) → ( S , i , E , ℓ , L , t ) betweentwo CTS consists of– a function σ : S → S ,– a function τ : E → E ,– a function λ : L → L ,such that i = σ ( i ), ℓ ◦ τ = λ ◦ ℓ , and for every state x ∈ S and cell l of ! E , t ( σ ( x ) , ! τ ( l )) = σ ◦ t ( x, l ). Every such morphism induces a mor-phism ( κ, λ ) : C → C between the corresponding HDA C and C defined on n -cells ( x, l ) of C by κ n ( x, l ) = ( σ ( x ) , ! τ ( l )). We write CTS for the categorythus defined. Proposition 35. The functor CTS → sHDA defined above is well-defined.Remark . A variant of the notion of cubical transition system can easily bedefined in order to generate symmetric cubical sets. From Petri nets to HDA. Suppose that we are given a labeled Petri net N = ( P, M , E, pre , post , ℓ, L ). The pre and post operations can be extendedto the cells of ! E by • () = • ( ∗ ) = 0, • ( l · l ) = • l + • l , () • = ( ∗ ) • = 0and ( l · l ) • = l • + l • . This enables us to see elements of ! E as generalized events.We also generalize the notion of transition and given two markings M and M and an event l ∈ ! E , we say that there is a transition M l −→ M wheneverthere exists a marking M such that M = M + • l and M = M + l • . In thiscase, the event l is said to be enabled at the marking M . The marking M issometimes denoted M /l . A marking M is reachable if there exists a transition l such that M = M /l where M is the initial marking of N . Remark . As in [43], we have chosen to define morphisms in the oppositedirection on places. With the adjunction with HDA in mind, this can be ex-plained as follows. Morphisms of Petri nets should, just as morphisms of HDA,preserve independence of events: if two events e and e ′ of a net N are inde-pendent and ( ϕ, ψ ) : N → N ′ is a morphism of nets, then their images ψ ( e )and ψ ( e ′ ) should also be independent. By contraposition, this means that ifboth events ψ ( e ) and ψ ( e ′ ) depend on a common place p , then the events e and e ′ should depend on a corresponding common place ψ − ( p ).Every labeled Petri net N induces a CTS ( S, i, E, t, ℓ, L ) whose states S arethe reachable markings of the net, with the initial marking M as initial state,events E are the events of the net, transition function t ( M, l ) is defined if andonly if l is enabled at M and in this case t ( M, l ) = M/l , with the set L as setof labels and ℓ : E → L as labeling function.It is routine to verify that this actually defines a CTS and thus a strict HDA.The n -cells of hda( N ) consisting of a marking M of the net and a list l of eventswhich is enabled at M . Moreover, any morphism ( ϕ, ψ ) : N → N ′ betweenlabeled Petri nets induces a morphism ( σ, τ, λ ) between the corresponding CTS28efined by σ ( M ) = M ◦ ϕ for any reachable marking M of N , τ = ψ , and λ = ψ .We denote by hda : sLPNet → sHDA the functor thus defined. From HDA to Petri nets. We first introduce the notion of region of an HDA,which should be thought as a way of associating a number of tokens to each0-cell of the HDA and a pre- and postcondition to every transition of the HDA,in a coherent way. A pre-region R of a precubical set C is a sequence ( R i ) i ∈ N of functions R i : C ( i ) → N × N such that– for every x ∈ C (0), R ( x ) = (0 , x ∈ C ( i + 1) and α k ∈ {− , + } , R i +1 ( x ) = i X k =0 R ( ∂ α k ¬ k ( x ))where the sum is computed coordinate by coordinate on pairs of integers.Notice that, by the second property, a region is uniquely determined by theimage of 1-dimensional cells in x ∈ C (1). We sometimes omit the index i since it is determined by the dimension of the cell in argument and respectivelywrite R ′ ( x ) and R ′′ ( x ) for the first and second components of R ( x ), where x isa cell of C . It can be remarked that two 1-cells which are part of the same eventnecessarily have the same image under a pre-region; a pre-region R thus inducesa function from the events of C to N × N , that we still write R . A region of aprecubical set consists of a pre-region R together with a function S : C (0) → N such that for every i -cell y ∈ C ( i ) whose 0-source is x and 0-target is x ′ , thereexists an integer n such that ( S ( x ) , S ( x ′ )) = ( n + R ′ ( y ) , n + R ′′ ( y )). Example 38. Consider the following precubical set x x y = = ⑤⑤⑤⑤⑤⑤⑤⑤ z x y a a ❈❈❈❈❈❈❈❈ x y a a ❈❈❈❈❈❈❈❈ y = = ⑤⑤⑤⑤⑤⑤⑤⑤ y / / x A region ( R, S ) for this cubical set is for example R ( y ) = (2 , R ( y ) = (3 , R ( y ) = (3 , R ( y ) = (2 , R ( y ) = (0 , and R ( z ) = (5 , S ( x ) = 6 S ( x ) = 5 S ( x ) = 4 S ( x ) = 3 S ( x ) = 829 raphically, (3 , = = ④④④④④④④④④ (5 , 2) 4 (2 , a a ❈❈❈❈❈❈❈❈❈ (2 , a a ❈❈❈❈❈❈❈❈❈ (3 , = = ④④④④④④④④④ (0 , / / C , we associate a labeled Petri net pn( C ) whose– places are the regions of C ,– events are the events of C , labeled as in C ,– pre and post functions are given on any event e and any place ( R, S ) by • e ( R, S ) = R ′ ( e ) and e • ( R, S ) = R ′′ ( e ),– initial marking M is M ( R, S ) = S ( x ), where x is the initial state of C .Suppose that ( κ, λ ) : C → D is a morphism of HDA. We define a morphism oflabeled Petri nets pn( κ, λ ) : pn( C ) → pn( D ) as follows: pn( κ, λ ) = ( ϕ, ψ, λ ),where– ϕ maps every region ( R, S ) of D to the region ϕ ( R, S ) = ( R ◦ κ, S ◦ κ ),where R ◦ κ denotes the pre-region ( R i ◦ κ i ) i ∈ N ,– ψ is the map induced on events by κ (two 1-cells which are part of thesame event are sent to 1-cells which are part of the same event by κ ).This thus defines a functor pn : sHDA → sLPNet . Suppose that we are given an HDA C labeled by ℓ into L , and a labeled net N = ( P, M , E, pre , post , m, M ). We want to exhibit a bijection between mor-phisms pn( C ) → N in sLPNet and morphisms C → hda( N ) in sHDA .To any morphism ( ϕ, ψ, λ ) : pn( C ) → N of labeled Petri nets, we associatea morphism ( κ, λ ) : C → hda( N ) of HDA defined as follows. Given an n -cell x of C , κ n ( x ) should be an n -cell of hda( N ), that is a pair ( M κ n ( x ) , l κ n ( x ) ) where M κ n ( x ) is a marking of N and l κ n ( x ) is a list of events of N which is enabledat M κ n ( x ) . These are defined for every place p of N by M κ n ( x ) ( p ) = S ϕ ( p ) ( y ),where y is the 0-source of x , and l κ n ( x ) = ! ψ ( ∂ −¬ ( x ) · · · ∂ −¬ ( n − ( x )) where y denotes the event associated to a 1-cell x .Conversely, to any morphism ( κ, λ ) : C → hda( N ) of HDA, we associate amorphism of labeled Petri nets ( ϕ, ψ, λ ) : pn( C ) → N defined as follows. Givenan n -cell x , κ n ( x ) is an n -cell of hda( N ), that is a pair ( M κ n ( x ) , l κ n ( x ) ) as above.For every place p , ϕ ( p ) is the region ( R ϕ ( p ) , S ϕ ( p ) ) of C which is defined on30-cells x by S ϕ ( p ) ( x ) = M κ n ( x ) ( p ) and on n -cells x by R ϕ ( p ) = ( • l κ n ( x ) , l • κ n ( x ) ).Given a 1-cell x , its image under κ ( x ) is a pair ( M κ ( x ) , l κ ( x ) ) where l κ ( x ) isreduced to one 1-cell y . It is immediate to check that for any other 1-cell x ′ such that x ≈ x ′ , we have that l κ ( x ) ≈ l κ ( x ′ ) : it thus makes sense to ex-tend x l κ ( x ) into a function which to an event e of C associates an event l κ ( e ) .Given an event e of C , we define ψ ( e ) = l κ ( e ) .It can be shown that these transformations are well defined, are natural in C and N , and are mutually inverse. Therefore, Theorem 39. The functor hda : sLPNet → sHDA is right adjoint to thefunctor pn : sHDA → sLPNet .Proof. It is routine to check that the transformations given above are well-defined and natural in C and N . We now show that they are mutually inverse.Suppose that ( ϕ, ψ, λ ) : pn( C ) → N is a morphism of Petri nets and considerthe associated morphisms( κ, λ ) : C → hda( N ) and ( ϕ ′ , ψ ′ , λ ) : pn( C ) → N obtained by successively applying the two transformations above. For anyplace p of N , ϕ ′ ( p ) is a place of pn( C ), that is a region ( R ϕ ′ ( p ) , S ϕ ′ ( p ) ) of C .By definition of the transformations, we have that for every 0-cell x of C , S ϕ ′ ( p ) ( x ) = M κ n ( x ) ( p ) = S ϕ ( p ) ( x ) and for every n -cell y of C , the first com-ponent of R ϕ ′ ( p ) ( x ) is • l κ n ( x ) ( p ) = n − X i =0 pre ◦ ψ ( ∂ − i ( x ))( p ) = n − X i =0 pre( ∂ − i ( x ))( ϕ ( p )) = R ′ ϕ ( p ) and similarly l • κ n ( x ) ( p ) = R ′′ ϕ ( p ) , thus R ϕ ′ ( p ) = R ϕ ( p ) . Moreover, for every event e of C , ψ ′ ( e ) = ψ ( e ).Conversely, suppose that ( κ, λ ) : C → hda( N ) is a morphism of cubical setsand consider the associated morphisms( ϕ, ψ, λ ) : pn( C ) → N and ( κ ′ , λ ) : C → hda( N )obtained by successively applying the two transformations above. For any n -cell x of C , the n -cell κ ′ n ( x ) is an n -cell of hda( N ) consisting of a pair( M κ ′ n ( x ) , l κ ′ n ( x ) ) as above. By definition of hda( N ), we have M κ ′ n ( x ) = M κ ′ n ( y ) ,where y is the 0-source of x . Moreover, for every place p of N , we have M κ ′ n ( y ) ( p ) = S ϕ ( p ) ( y ) = M κ n ( y ) ( p ). And finally, l κ ′ n ( x ) = ! ψ ( ∂ −¬ ( x ) · · · ∂ −¬ ( n − ( x )) = ( κ ( ∂ −¬ ( x )) · · · κ ( ∂ −¬ ( n − ( x ))) = l κ n ( x ) which concludes the construction of the adjunction. Example 40. If we restrict to 1-bounded nets, which are nets a place can con-tain either or token, we can recover the constructions of [43] for constructing n adjunction between asynchronous transition systems and nets. Since the netassociated to an HDA by the functor hda is generally infinite, we will give anexample in the case of 1-bounded nets. Consider the asynchronous automaton,depicted on the left of (8) , with an empty independence relation. zy e > > ⑤⑤⑤⑤⑤ y e ` ` ❇❇❇❇❇ x e ` ` ❇❇❇❇ e > > ⑤⑤⑤⑤ a b cd ef gh ie e (8) The associated 1-bounded Petri net is shown on the right. In this automaton theplace d corresponds to the region ( R, S ) such that R ( e ) = (1 , , R ( e ) = (0 , , S ( x ) = S ( y ) = 1 and S ( y ) = S ( z ) = 0 . Graphically, (0 , @ @ ✁✁✁✁ (1 , ^ ^ ❂❂❂❂ (1 , ^ ^ ❂❂❂❂ (0 , @ @ ✁✁✁✁ Now, if we consider the same automaton with e I x e , we obtain the same Petrinet with the place h removed. The general (i.e. non-bounded) net associated toan HDA is generally infinite (even for very simple examples) and thus difficultto describe, which is why we did not provide an example in the general case. This adjunction can easily be lifted into an adjunction between LPNet and HDA . In this paper, we have made completely formal the relation between HDA andvarious classical models of concurrent computations: transition systems, asyn-chronous automata, event structures and Petri nets. This is not only interestingfor comparison purposes, between different semantics of parallel languages, butalso, for practical reasons, which will be detailed in a subsequent article.Stubborn sets [37], sleep sets and persistent sets [14] are methods used for di-minishing the complexity of model-checking using transition systems. They arebased on semantic observations using Petri nets in the first case and Mazurkie-wicz trace theory in the other one. We believe that these are special forms of“homotopy retracts” when cast (using the adjunctions we have hinted) in thecategory of higher-dimensional transition systems. We shall make this statementmore formal through these adjunctions, which will allow for new state-space re-duction methods. 32ast but not least, in [22] is defined an abstract notion of bisimulation. Givena model for concurrency, i.e. a category of models M and a “path category” (asubcategory of M which somehow represents what should be thought of as beingpaths in the models), then we can define two elements of M to be bisimilar ifthere exists a span of special morphisms linking them. These special morphismshave a path-lifting property that, we believe, would be in higher-dimensionaltransition systems a (geometric) fibration property. We thus hope that ho-motopy invariants could be useful for the study of a variety of bisimulationequivalences (some work has been done in that direction in [5, 7]). References [1] A. Arnold. Syst`emes de transitions finis et s´emantique des processus com-municants . Masson, 1992.[2] M. A. Bednarczyk. Categories of asynchronous systems . PhD thesis, 1988.[3] F. Borceux and G. Janelidze. Galois theories . Cambridge Univ Press, 2001.[4] R. Brown and P. J. Higgins. On the algebra of cubes. JPAA , (21):233–260,1981.[5] G.L. Cattani and V. Sassone. Higher dimensional transition systems.In Eleventh Annual IEEE Symposium on Logic in Computer Science(LICS’96) , pages 55–62, 1996.[6] M. Droste and RM Shortt. Petri nets and automata with concurrencyrelations—an adjunction. In Sem. of Prog. Lang. and Model Theory , pages69–87, 1993.[7] U. Fahrenberg. A category of higher-dimensional automata. Foundationsof Software Science and Computational Structures , pages 187–201, 2005.[8] U. Fahrenberg. Higher-Dimensional Automata from a Topological View-point . PhD thesis, Aalborg University, 2005.[9] L. Fajstrup. Loops, ditopology, and deadlocks. Math. Struct. Comput. Sci. ,2000.[10] L. Fajstrup. Dipaths and dihomotopies in a cubical complex. Advances inApplied Mathematics , 35(2):188–206, 2005.[11] L. Fajstrup, E. Goubault, and M. Raußen. Detecting deadlocks in concur-rent systems. CONCUR’98 , pages 332–347.[12] L. Fajstrup, M. Raußen, and E. Goubault. Algebraic topology and concur-rency. Theoretical Computer Science , 357(1-3):241–278, 2006.[13] P. Gaucher. Combinatorics of labelling in higher-dimensional automata. Theoretical Computer Science , 411(11-13):1452–1483, 2010.3314] P. Godefroid and P. Wolper. Using partial orders for the efficient verificationof deadlock freedom and safety properties. volume 575, pages 417–428.LNCS, 1991.[15] E. Goubault. The Geometry of Concurrency . PhD thesis, 1995.[16] E. Goubault. Cubical sets are generalized transition systems. Technicalreport, 2001.[17] E. Goubault. Labelled cubical sets and asynchronous transistion systems:an adjunction. In Presented at CMCIM’02 , volume 2, page 2002, 2001.[18] E. Goubault and T. P. Jensen. Homology of higher-dimensional automata.In Proc. of CONCUR’92 , Stonybrook, New York, August 1992. Springer-Verlag.[19] M. Grandis. Directed Algebraic Topology; models of non-reversible worlds .CUP, 2009.[20] M. Grandis and L. Mauri. Cubical sets and their site. TAC , 11(8):185–211,2003.[21] J. Hayman and G. Winskel. Symmetry in petri nets. Perspectives in Con-currency Theory , 2008.[22] A. Joyal, M. Nielsen, and Winskel G. Bisimulation and open maps. In LICS , 1993.[23] S. Mac Lane and I. Moerdijk. Sheaves in geometry and logic: A firstintroduction to topos theory . Springer, 1992.[24] S. MacLane. Categories for the Working Mathematician , volume 5 of Grad-uate Texts in Mathematics . Springer Verlag, 1971.[25] S. Mimram. S´emantique des jeux asynchrones et r´e´ecriture2-dimensionnelle . PhD thesis, PPS, CNRS – Universit´e Paris Diderot,2008.[26] M. Mukund. Petri nets and step transition systems. International Journalof Foundations of Computer Science , 3(4):443–478, 1992.[27] P. Mulry. Lifting theorems for Kleisli categories. In MFPS , pages 304–319,1994.[28] M. Nielsen, G. D. Plotkin, and G. Winskel. Petri nets, event structures anddomains. In Semantics of Concurrent Computation , pages 266–284, 1979.[29] C. Petri. Communication with automata, 1966.[30] V. Pratt. Modeling concurrency with geometry. In Proc. of the 18th ACMSymposium on Principles of Programming Languages . ACM Press, 1991.3431] M. Raussen. On the classification of dipaths in geometric models for con-currency. Mathematical Structures in Computer Science , August 2000.[32] Sankaranarayanan S., H. Sipma, and Z. Manna. Petri net analysis usinginvariant generation. volume 2772 of LNCS , pages 682–701, 2003.[33] V. Sassone, M. Nielsen, and G. Winskel. Relationships between models ofconcurrency. In Proceedings of the Rex’93 school and symposium , 1994.[34] J.P. Serre. Homologie Singuli`ere des Espaces Fibr´es. Applications . PhDthesis, ´Ecole Normale Sup´erieure, 1951.[35] M.W. Shields. Concurrent machines. Computer Journal , 28, 1985.[36] S. Staton and G. Winskel. On the expressivity of symmetry in event struc-tures. In Logic in Computer Science , pages 392–401. Citeseer, 2010.[37] A. Valmari. A stubborn attack on state explosion. In Proc. of CAV’90 .LNCS, 1990.[38] R. van Glabbeek. Bisimulation semantics for higher dimensional automata.Technical report, Stanford University, 1991.[39] R. van Glabbeek. Petri nets, configuration structures and higher dimen-sional automata. Lecture notes in computer science , pages 21–27, 1999.[40] R. van Glabbeek. On the expressiveness of higher dimensional automata. Theoretical computer science , 356(3):265–290, 2006.[41] G. Winskel. Event structures. In Advances in Petri Nets , pages 325–392,1986.[42] G. Winskel. Event structures with symmetry. Electronic Notes in Theoret-ical Computer Science , 172:611–652, 2007.[43] G. Winskel and M. Nielsen. Models for concurrency. In