1 Introduction

Higher-dimensional automata are a powerful combinatorial-topological model for concurrent systems. A higher-dimensional automaton (HDA) is a precubical set (i.e., a cubical set without degeneracies) with an initial state, a set of final states, and a labeling on 1-cubes such that opposite edges of 2-cubes have the same label (van Glabbeek 2006; Pratt 1991). An HDA is thus a (labeled) transition system (or an ordinary automaton) with a supplementary structure consisting of two- and higher-dimensional cubes. The transition system represents the states and transitions of a concurrent system. An \(n\)-cube in an HDA indicates that the \(n\) transitions starting at its origin are independent in the sense that they may occur in any order, or even simultaneously, without any observable difference. It has been shown in van Glabbeek (2006) that higher-dimensional automata are more expressive than the principal traditional models of concurrency.

The fact that the two- and higher-dimensional cubes in an HDA represent independence of transitions suggests that the higher-dimensional topology of an HDA contains global information on independence of processes and components of the modeled concurrent system. In Kahl (2021), the homology language has been devised as a homological tool to describe this global independence structure of an HDA. The homology language of an HDA is defined to be the image of the homomorphism induced in homology by a certain labeling chain map that leads from the cubical chain complex of the HDA to the exterior algebra on the alphabet of labels (see Sect. 3). The homology language can be computed and analyzed using software (Kahl 2018).

Transition systems are arguably the most fundamental model for concurrent systems. A natural way to turn a transition system into an HDA is to fill in empty squares and higher-dimensional cubes (van Glabbeek 2006; Gaucher 2010; Goubault and Mimram 2012; Kahl 2019). This approach requires some concept of independence in order to decide which cubes to fill in. Such a concept of independence may be given by an independence relation—i.e., an irreflexive and symmetric relation—on the alphabet of action labels. Independence relations play a fundamental role in trace theory in the sense of Mazurkiewicz (1987). Asynchronous transition systems (Winskel and Nielsen 1995) are an important example of transition systems that come equipped with an independence relation on the set of labels.

HDAs constructed from transition systems using a cube filling procedure based on a symmetric concept of independence, such as an independence relation on the set of labels, are usually very large because an empty \(n\text{- }\)cube representing the execution of \(n\) independent actions is filled in \(n!\) times. From a computational point of view, it is therefore desirable to have a way to produce smaller HDA models of transition systems. It has been shown in Kahl (2019) that using a cube filling rule based on an asymmetric rather than an independence relation on the alphabet, one can construct an HDA model of a transition system where the independence of \(n\) actions in a state is represented by a single \(n\text{- }\)cube (at least if the transition system under consideration is deterministic). It is, of course, not to be expected that two HDAs constructed using different filling rules from the same transition system will be equivalent in a meaningful sense.

Every independence relation on an alphabet is the symmetric closure of an acyclic relation, i.e., a relation that is acyclic when seen as a graph (see Sect. 4). The purpose of this paper is to establish that the HDAs constructed from a transition system using cube filling rules based, respectively, on an independence relation on the alphabet and a generating acyclic relation have the same homology language. The two HDAs may therefore be regarded as equivalent from the point of view of their independence structures. As we will show in Sect. 5, the HDA constructed using the independence relation is the free symmetric HDA generated by the one constructed using the acyclic relation. The latter is thus a significantly smaller HDA model of the given transition system than the former.

2 Precubical sets and HDAs

This section presents fundamental material on precubical sets, higher-dimensional automata, and their symmetric variants.

2.1 Precubical sets

A precubical set is a graded set \(P = (P_n)_{n \ge 0}\) with face maps

$$\begin{aligned} d^k_i:P_n \rightarrow P_{n-1}\quad (n>0,\;k= 0,1,\; i = 1, \dots , n) \end{aligned}$$

satisfying the cubical identities

$$\begin{aligned} d^k_i d^l_{j}= d^l_{j-1} d^k_i \quad (k,l = 0,1,\; i<j). \end{aligned}$$

If \(x\in P_n\), we say that \(x\) is of degree or dimension \(n\). The elements of degree \(n\) are called the \(n\)-cubes of \(P\). The elements of degree \(0\) are also called the vertices of \(P\), and the \(1\)-cubes are also called the edges of \(P\). The \(i\)th starting edge of a cube \(x\) of degree \(n > 0\) is the edge

$$\begin{aligned} e_ix = d_1^{0} \ldots d_{i-1}^ {0}d_{i+1}^{0}\ldots d_n^{0}x. \end{aligned}$$

A precubical subset of a precubical set is a graded subset that is stable under the face maps. The \(n\)-skeleton of a precubical set \(P\) is the precubical subset \(P_{\le n}\) defined by \((P_{\le n})_m = P_m\) for \(m \le n\) and \(P_m = \emptyset \) else.

A morphism of precubical sets is a morphism of graded sets that is compatible with the face maps. The category of precubical sets can be seen as the presheaf category of functors \(\square ^{\textsf {op}} \rightarrow {\textsf{Set}}\) where \(\square \) is the small subcategory of the category of topological spaces whose objects are the standard \(n\)-cubes \([0,1]^n\) \((n \ge 0)\) and whose nonidentity morphisms are composites of the coface maps \(\delta ^k_i:[0,1]^n\rightarrow [0,1]^{n+1}\) (\(k \in \{0,1\}\), \(n \ge 0\), \(i \in \{1, \dots , n+1\}\)) given by \(\delta _i^k(u_1,\dots , u_n)= (u_1,\dots , u_{i-1},k,u_i \dots , u_n)\).

The geometric realization of a precubical set \(P\) is the quotient space

$$\begin{aligned} |P|=\left( \coprod _{n \ge 0} P_n \times [0,1]^n\right) /\sim \end{aligned}$$

where the sets \(P_n\) are given the discrete topology and the equivalence relation is generated by

$$\begin{aligned} (d^k_ix,u) \sim (x,\delta _i^k(u)), \quad x \in P_{n+1},\; u\in [0,1]^n,\; i \in \{1, \dots , n+1\},\; k \in \{0,1\}. \end{aligned}$$

The geometric realization of a morphism of precubical sets \({f:P \rightarrow Q}\) is the continuous map \({|f|:|P| \rightarrow |Q|}\) given by \(|f|([x,u])= [f(x),u]\).

2.2 The precubical set of permutations

The family of symmetric groups \(S = (S_n)_{n\ge 0}\) (with \(S_0 = \{id_\emptyset \}\)) is a precubical set with respect to the face maps given by

$$\begin{aligned} d^{k}_i\theta (j)&= \left\{ \begin{array}{ll} \theta (j), &{} j< \theta ^{-1}(i),\; \theta (j)< i,\\ \theta (j) - 1, &{} j< \theta ^{-1}(i),\; \theta (j)> i,\\ \theta (j+1), &{} j \ge \theta ^{-1}(i),\; \theta (j+1) < i,\\ \theta (j+1)-1,&{} j \ge \theta ^{-1}(i),\; \theta (j+1) > i \end{array}\right. \end{aligned}$$

(see Kahl (2022) and compare Krasauskas (1987), and Fiedorowicz and Loday (1991)). Since, by definition, \(d^0_i\theta = d^1_i\theta \), we may simplify the notation by setting

$$\begin{aligned} d_i\theta = d^0_i\theta = d^1_i\theta . \end{aligned}$$

Since \(S_1 = \{id\}\), the two elements of \(S_2\) have the same faces. In degrees \(\ge 3\), permutations are determined by their faces:

Proposition 2.1

Let \(n \ge 3\), and let \(\sigma , \theta \in S_n\) such that \(d_i\sigma = d_i\theta \) for all \(i \in \{1, \dots , n\}\). Then \(\sigma = \theta \).

Proof

It follows from Kahl (2022, Lemma 3.3) that it is enough to show that there exists an \(r\) such that \(\sigma (r) = \theta (r)\). Suppose that this is not the case. Set \(i = \sigma ^{-1}(n)\) and \(j = \theta ^{-1}(n)\). Then \(i, j < n\). Indeed, suppose that \(i = n\). Then for \(1 \le r \le n-1\), \(d_n\sigma (r) = \sigma (r)\) because \(r < n = \sigma ^{-1}(n)\), \(\sigma (r) \le n\), and \(\sigma (r) \not = \sigma (n) = n\). Since \(\theta (r) \not = \sigma (r)\) and \(\theta (r), \theta (r+1) \le n\), we have \(r \ge \theta ^{-1}(n)\), \(\theta (r+1) < n\), and

$$\begin{aligned} \sigma (r) = d_n\sigma (r) = d_n \theta (r) = \theta (r+1). \end{aligned}$$

In particular, \(j = \theta ^{-1}(n) \le 1\). Hence \(j = 1\) and \(\theta (1) = n\). Set \(s = \sigma ^{-1}(1)\). Since \(\sigma (s) \not = \sigma (n)\), \(s < n\). Since \(\theta (s+1) = \sigma (s) = 1\), \(\theta ^{-1}(1) = s+1\). Since the values of \(\sigma \) are \(\ge 1\), we have

$$\begin{aligned} d_1\sigma (1) = \left\{ \begin{array}{ll} \sigma (1) -1, &{} 1 < \sigma ^{-1}(1) = s,\\ \sigma (2) -1, &{} 1 = s. \end{array} \right. \end{aligned}$$

Since \(n > 2\), we have \(\sigma (1), \sigma (2) \not = \sigma (n) = n\) and therefore \(d_1\sigma (1) \le n-2\). On the other hand, \(1 < s+1 = \theta ^{-1}(1)\) and \(\theta (1) = n > 1\) and therefore

$$\begin{aligned} n -2 \ge d_1\sigma (1) = d_1\theta (1) = \theta (1) -1 = n -1, \end{aligned}$$

which is impossible. It follows that \(i < n\). An analogous argument shows that \(j < n\).

Hence \( 1 \le i, j \le n-1\). We show that \(i < j\). Since \(i \ge i = \sigma ^{-1}(n)\), \(\sigma (i+1) \le n\), and \(\sigma (i+1) \not = \sigma (i) = n\), we have \(d_n\sigma (i) = \sigma (i+1)\). Hence \(d_n\theta (i) = \sigma (i+1) \not = \theta (i+1)\). Since \(\theta (i+1) \le n\), it follows that \(i < j\). Analogously, \(j < i\). Since this is impossible, there must exist an \(r\) such that \(\sigma (r) = \theta (r)\). \(\square \)

For later use, we state the following fact from Kahl (2022):

Proposition 2.2

(Kahl 2022, Prop. 3.6(i)) Let \(P\) be a precubical set, and let \(n \ge 2\), \(1 \le i < j \le n\), \(k,l \in \{0,1\}\), \(x \in P_n\), and \(\theta \in S_n\). Then

$$\begin{aligned} d^k_{d_{\theta (j)}\theta (i)}d^l_{\theta (j)}x = d^l_{d_{\theta (i)}\theta (j-1)}d^k_{\theta (i)}x. \end{aligned}$$

2.3 Symmetric precubical sets

A symmetric precubical set is a precubical set \(P\) equipped with a crossed action of \(S\) on \(P\), i.e., a morphism of graded sets \(S \times P \xrightarrow {} P\), \((\theta , x) \mapsto \theta \cdot x\) such that

  • for all \(n \ge 0\) and \(x \in P_n\), \(id\cdot x = x\);

  • for all \(n \ge 0\), \(\sigma , \theta \in S_n\), and \(x \in P_n\), \((\sigma \cdot \theta )\cdot x = \sigma \cdot (\theta \cdot x)\);

  • for all \(n \ge 1\), \(\theta \in S_n\), \(x \in P_n\), \(i \in \{1, \dots , n\}\), and \(k \in \{0,1\}\),

    $$\begin{aligned} d^k_i(\theta \cdot x) = d_i\theta \cdot d^k_{\theta ^{-1}(i)}x. \end{aligned}$$

Symmetric precubical sets form a category, in which the morphisms are morphisms of precubical sets that are compatible with the crossed actions. We remark that the category of symmetric precubical sets is isomorphic to the presheaf category \(\textsf{Set}^{\square _S^{\textsf{op}}}\) where \(\square _S\) is the subcategory of the category of topological spaces whose objects are the standard \(n\)-cubes \([0,1]^n\) \((n \ge 0)\) and whose morphisms are composites of the coface maps \(\delta ^k_i\) defined above and the permutation maps

$$\begin{aligned} t_\theta :[0,1]^n \rightarrow [0,1]^n, (u_1, \dots , u_n) \mapsto (u_{\theta (1)} \dots , u_{\theta (n)}) \quad (n \ge 0,\, \theta \in S_n) \end{aligned}$$

(cf. Grandis and Mauri (2003); Fahrenberg (2005); Gaucher (2010); Goubault and Mimram (2012)).

The free symmetric precubical set generated by a precubical set \(P\) is the symmetric precubical set \(SP\) defined by

  • \(SP_n = S_n \times P_n\) \((n \ge 0)\);

  • \(d^k_i(\theta ,x) = (d_i\theta , d^k_{\theta ^{-1}(i)}x)\) \(({n \ge 1}, {\theta \in S_n}, {x \in P_n}, {1 \le i \le n}, {k \in \{0,1\}})\);

  • \(\sigma \cdot (\theta , x) = (\sigma \cdot \theta , x)\) \((n \ge 0, \sigma , \theta \in S_n, x \in P_n)\).

The free symmetric precubical set is functorial, and the functor \(P \mapsto SP\) from the category of precubical sets to the category of symmetric precubical sets is left adjoint to the forgetful functor.

2.4 Higher-dimensional automata

Throughout this paper, we consider a fixed alphabet \(\Sigma \). A higher-dimensional automaton (HDA) over \(\Sigma \) is a tuple

$$\begin{aligned} {\mathcal {Q}}= (P, \imath , F, \lambda ) \end{aligned}$$

where \(P\) is a precubical set, \({\imath \in P_0}\) is a vertex, called the initial state, \({F \subseteq P_0}\) is a (possibly empty) set of final states, and \(\lambda :P_1 \rightarrow \Sigma \) is a map, called the labeling function, such that \(\lambda (d_i^0x) = \lambda (d_i^1x)\) for all \(x \in P_2\) and \(i \in \{1,2\}\) (van Glabbeek 2006). We say that an HDA \({\mathcal {Q}}' = (P', \imath ', F', \lambda ')\) is a sub-HDA of \({\mathcal {Q}}\) and write \({\mathcal {Q}}' \subseteq {\mathcal {Q}}\) if \(P'\) is a precubical subset of \(P\), \(\imath ' = \imath \), \(F' = F\cap Q'_0\), and \(\lambda ' = \lambda |_{Q'_1}\). The \(n\)-skeleton of \({\mathcal {Q}}\) is the sub-HDA \({\mathcal {Q}}_{\le n} = (P_{\le n}, \imath , F, \lambda |_{(P_{\le n})_1})\). Higher-dimensional automata form a category, in which a morphism from an HDA \({\mathcal {Q}}= (P, \imath , F, \lambda )\) to an HDA \({\mathcal {Q}}' = (P', \imath ', F', \lambda ')\) is a morphism of precubical sets \(f:P \rightarrow P'\) such that \(f(\imath ) = \imath '\), \(f(F) \subseteq F'\), and \(\lambda '(f(x)) = \lambda (x)\) for all \(x \in P_1\).

A symmetric HDA is an HDA \({\mathcal {Q}}= (P, \imath , F, \lambda )\) equipped with a crossed action of \(S\) on \(P\). Symmetric HDAs form a category, in which the morphisms are morphisms of HDAs that also are morphisms of symmetric precubical sets. The free symmetric HDA generated by an HDA \({\mathcal {Q}}= (P, \imath , F, \lambda )\) is the symmetric HDA \(S{\mathcal {Q}}= (SP, (id, \imath ), S_0\times F, \mu )\) where \(\mu (id,x) = \lambda (x)\) \((x \in P_1)\) and the crossed action is the one of \(SP\). The assignment \({\mathcal {Q}}\mapsto S{\mathcal {Q}}\) defines a functor from the category of HDAs to the category of symmetric HDAs, which is left adjoint to the forgetful functor.

3 The homology language and free symmetric HDAs

In this section, we recall the definition of the homology language of an HDA from Kahl (2021) and show, as a first contribution of this paper, that an HDA and the free symmetric HDA generated by it have the same homology language. We work over a fixed principal ideal domain, which we suppress from the notation.

3.1 Cubical chains and cubical homology

The cubical chain complex of a precubical set \(P\) is the nonnegative chain complex \(C_*(P)\) where \(C_n(P)\) is the free module generated by \(P_n\) and the boundary operator \(d:C_n(P) \rightarrow C_{n-1}(P)\) is given by

$$\begin{aligned} dx = \sum \limits _{i=1}^{n}(-1)^i(d^0_ix -d^1_ix), \quad x \in P_n\;\; (n > 0). \end{aligned}$$

The cubical homology of \(P\), denoted by \(H_*(P)\), is the homology of \(C_*(P)\).

3.2 The homology language of an HDA

Let \({\mathcal {Q}}= (P, \imath , F, \lambda )\) be an HDA over \(\Sigma \). Consider the exterior algebra on the free module generated by \(\Sigma \), \(\Lambda (\Sigma )\). Recall that this is the quotient of the tensor algebra on the free module on \(\Sigma \) by the two-sided ideal generated by all elements of the form \(x\otimes x\) where \(x\) runs through the free module on \(\Sigma \) (see Bourbaki (1974) for more details). The exterior algebra \(\Lambda (\Sigma )\) is canonically graded by the exterior powers of the free module generated by \(\Sigma \). We view the graded module \(\Lambda (\Sigma )\) as a chain complex with \(d=0\) and define the labeling chain map

$$\begin{aligned} {\mathfrak {l}} :C_*(P) \rightarrow \Lambda (\Sigma ) \end{aligned}$$

on basis elements \(x \in P_n\) by

$$\begin{aligned} {\mathfrak {l}}(x) = \left\{ \begin{array}{ll} 1_{\Lambda (\Sigma )}, &{} n = 0, \quad \\ \lambda (e_1x)\wedge \dots \wedge \lambda (e_nx),&{} n > 0. \end{array} \right. \end{aligned}$$

By Kahl (2018, Prop. 4.4.5), the labeling chain map is indeed a chain map, and therefore it induces a labeling homomorphism in homology:

$$\begin{aligned} {\mathfrak {l}}_*:H_*(P) \rightarrow H_*(\Lambda (\Sigma )) = \Lambda (\Sigma ) \end{aligned}$$

The homology language of \({\mathcal {Q}}\) is then defined to be the graded module

$$\begin{aligned} HL({\mathcal {Q}}) = {\text{ im }}\, {\mathfrak {l}}_* = \{{\mathfrak {l}}_*(\alpha ) \,|\, \alpha \in H_*(P)\}. \end{aligned}$$

The term reflects an analogy with the ordinary language of an automaton, which is a set of labels of paths. Some fundamental properties of the homology language have been established in Kahl (2021).

3.3 Simple cubical dimaps

A simple cubical dimap from a precubical set \(P\) to a precubical set \(P'\) is a continuous map \({f:|P| \rightarrow |P'|}\) such that for all \(n \ge 0\) and \(x \in P_n\), there exist elements \(y \in P'_n\) and \(\theta \in S_n\) such that for all \(u \in [0,1]^n\),

$$\begin{aligned} f([x,u]) = [y, t_\theta (u)]. \end{aligned}$$

By Kahl (2018, Prop. 6.2.4), \(y\) and \(\theta \) are uniquely determined by \(f\) and \(x\). We may therefore slightly abuse notation and write \(f(x)\) to denote \(y\). Obviously, the geometric realization of a morphism of precubical sets is a simple cubical dimap. In Kahl (2018), a more general concept of cubical dimap has been defined, hence the adjective simple.

A simple cubical dimap from an HDA \({\mathcal {Q}}= (P, \imath , F, \lambda )\) to an HDA \({\mathcal {Q}}' = (P', \imath ', F', \lambda ')\) is a simple cubical dimap of precubical sets \(f:P \rightarrow P'\) that preserves the initial and the final states and that satisfies \(\lambda '(f(x)) = \lambda (x)\) for all \(x \in P_1\). Our interest in simple cubical dimaps is motivated by the following fact:

Proposition 3.1

(Kahl 2021, Prop. 5.7.2) Let \({\mathcal {Q}}\) and \({\mathcal {Q}}'\) be HDAs such that there exists a simple cubical dimap \({\mathcal {Q}}\rightarrow {\mathcal {Q}}'\). Then \(HL({\mathcal {Q}}) \subseteq HL({\mathcal {Q}}')\).

3.4 The homology language of a free symmetric HDA

Let \({\mathcal {Q}}= (P,\imath ,F,\lambda )\) be an HDA. Since there exists the morphism of HDAs \({\mathcal {Q}}\rightarrow S{\mathcal {Q}}\), \(x \mapsto (id,x)\), by Proposition 3.1, \(HL({\mathcal {Q}}) \subseteq HL(S{\mathcal {Q}})\). We show in Theorem 3.3 below that actually equality holds.

Lemma 3.2

Let \(\theta \in S_n\) \((n \ge 1)\), and let \(i \in \{1, \dots ,n\}\) and \(k \in \{0,1\}\). Then

$$\begin{aligned} \delta ^k_{\theta ^{-1}(i)}\circ t_{d_i\theta } = t_\theta \circ \delta ^k_i :[0,1]^{n-1} \rightarrow [0,1]^n. \end{aligned}$$

Proof

Let \((u_1, \dots , u_{n-1}) \in [0,1]^{n-1}\). We have

$$\begin{aligned} \delta ^k_i (u_1, \dots , u_{n-1}) = (u_1, \dots , u_{i-1}, k, u_i \dots , u_{n-1}). \end{aligned}$$

For \(j \in \{1, \dots ,n\}\), set

$$\begin{aligned} v_j = \left\{ \begin{array}{ll} u_j, &{} 1 \le j< i,\\ k, &{} j = i,\\ u_{j-1}, &{} i < j \le n. \end{array}\right. \end{aligned}$$

Then we have

$$\begin{aligned} t_\theta \circ \delta ^k_i (u_1, \dots , u_{n-1})&= t_\theta (v_1, \dots , v_n)\\&= (v_{\theta (1)}, \dots , v_{\theta (n)})\\&= (v_{\theta (1)} , \dots , v_{\theta (\theta ^{-1}(i)-1)},k,v_{\theta (\theta ^{-1}(i)+1)}, \dots , v_{\theta (n)})\\&= \delta ^k_{\theta ^{-1}(i)}(v_{\theta (1)}, \dots , v_{\theta (\theta ^{-1}(i)-1)},v_{\theta (\theta ^{-1}(i)+1)}, \dots , v_{\theta (n)}). \end{aligned}$$

We have

$$\begin{aligned} \delta ^k_{\theta ^{-1}(i)}\circ t_{d_i\theta }(u_1, \dots , u_{n-1}) = \delta ^k_{\theta ^{-1}(i)}(u_{d_i\theta (1)}, \dots , u_{d_i\theta (n-1)}). \end{aligned}$$

Since for \(j \in \{1, \dots , n-1\}\),

$$\begin{aligned} u_{d_i\theta (j)} = \left\{ \begin{array}{ll} u_{\theta (j)}, &{} j< \theta ^{-1}(i),\, \theta (j)< i,\\ u_{\theta (j) - 1}, &{} j< \theta ^{-1}(i),\, \theta (j)> i,\\ u_{\theta (j+1)}, &{} j \ge \theta ^{-1}(i),\, \theta (j+1)< i,\\ u_{\theta (j+1)-1},&{} j \ge \theta ^{-1}(i),\, \theta (j+1) > i \end{array}\right. = \left\{ \begin{array}{ll} v_{\theta (j)}, &{} j < \theta ^{-1}(i),\\ v_{\theta (j+1)}, &{} j \ge \theta ^{-1}(i), \end{array}\right. \end{aligned}$$

the result follows. \(\square \)

Theorem 3.3

\(HL({\mathcal {Q}}) = HL(S{\mathcal {Q}})\).

Proof

We only have to show the inclusion \(HL(S{\mathcal {Q}}) \subseteq HL({\mathcal {Q}})\). By Proposition 3.1, it suffices to construct a simple cubical dimap \(S{\mathcal {Q}}\rightarrow {\mathcal {Q}}\). Consider the continuous map \(f:|SP| \rightarrow |P|\) defined by

$$\begin{aligned} f([(\theta ,x),u]) = [x, t_{\theta } (u)]\quad ((\theta ,x)\in (SP)_n, \, u \in [0,1]^n). \end{aligned}$$

This is well defined because, by Lemma 3.2, for \((\theta ,x)\in (SP)_n\), \(u \in [0,1]^{n-1}\), \(i \in \{1, \dots , n\}\), and \(k \in \{0,1\}\),

$$\begin{aligned}{}[x,t_{\theta }\circ \delta ^k_i(u)]&= [x,\delta ^k_{\theta ^{-1}(i)}\circ t_{d_i\theta }(u)] = [d^k_{\theta ^{-1}(i)}x,t_{d_i\theta }(u)]. \end{aligned}$$

By construction, \(f\) is a simple cubical dimap of precubical sets. We have \(f(\theta , x) = x\) for all \((\theta , x) \in SP\). Hence \(f\) preserves the initial and the final states. Moreover, for every edge \(x \in P_1\), \(\lambda (f(id,x)) = \lambda (x)\). It follows that \(f\) is a simple cubical dimap of HDAs. \(\square \)

4 HDA models of transition systems

The purpose of this section is to define HDA models of transition systems. An HDA model can be constructed with respect to an arbitrary relation on the alphabet of labels. In this paper, we are interested in the case where this relation is an independence or an acyclic relation. Except for the subsection on acyclic relations, the material of this section is taken from Kahl (2019).

4.1 Transition systems and independence relations

A transition system is a \(1\text{- }\)truncated extensional HDA, i.e., an HDA with no cubes of dimension \(\ge 2\) and no two edges with the same label and the same start and end vertices. An independence relation is an irreflexive and symmetric relation on the alphabet of action labels \(\Sigma \). An independence relation equips the alphabet with a notion of concurrency: two actions are independent if they may be executed sequentially or simultaneously without any relevant difference. Independence relations play a fundamental role in trace theory (Mazurkiewicz 1987, 1995). The results of this paper apply, in particular, to asynchronous transition systems, which are transition systems over an alphabet with an independence relation satisfying certain conditions (see Winskel and Nielsen (1995)).

4.2 Acyclic relations

A relation \(\ltimes \) on a set \(X\) is called acyclic if for all \(n \ge 1\) and \(x_1, \dots , x_n\in X\),

$$\begin{aligned} x_1 \ltimes x_2,\, x_2 \ltimes x_3,\, \dots ,\, x_{n-1}\ltimes x_n \Rightarrow {x_n \not \! \ltimes x_1}. \end{aligned}$$

Note that an acyclic relation is irreflexive \((n = 1)\) and, moreover, asymmetric \((n = 2)\).

Proposition 4.1

Let \(I\) be an independence relation on \(\Sigma \). Consider a totally ordered set \((Z,\le )\) and a map \(f:\Sigma \rightarrow Z\) such that

$$\begin{aligned} \forall \, a, b \in \Sigma : a \,I\, b \Rightarrow f(a) \not = f(b). \end{aligned}$$

Define a relation \(\ltimes \subseteq \Sigma \times \Sigma \) by

$$\begin{aligned} a \ltimes b: \Leftrightarrow a \,I\, b,\; f(a) \le f(b). \end{aligned}$$

Then \(\ltimes \) is acyclic and its symmetric closure is \(I\).

Proof

Let \(x_1, \dots , x_n\in \Sigma \) such that \(x_1 \ltimes x_2,\, x_2 \ltimes x_3,\, \dots ,\, x_{n-1}\ltimes x_n\). Then

$$\begin{aligned} f(x_1) \le f(x_2) \le \dots \le f(x_n) \end{aligned}$$

and therefore \(f(x_1) \le f(x_n)\). If \(f(x_n) \not \le f(x_1)\), then \({x_n \not \! \ltimes x_1}\). If \(f(x_n) \le f(x_1)\), then \(f(x_n) = f(x_1)\). Therefore we do not have \({x_n\,I\,x_1}\). Hence \(x_n \not \! \ltimes x_1\) in this case too. Thus, \(\ltimes \) is acyclic.

Let \(a,b \in \Sigma \). Since \(\le \) is a total order, we have \(f(a) \le f(b)\) or \(f(b) \le f(a)\). Hence if \({a \,I\, b}\) \((\Leftrightarrow {b \,I\, a}) \), we have \({a \ltimes b}\) or \({b\ltimes a}\). If, conversely, \({a \ltimes b}\) or \({b \ltimes a}\), then \({a \,I\, b}\) by definition of \(\ltimes \). Thus, \(I\) is the symmetric closure of \(\ltimes \). \(\square \)

Example 4.2

  1. (i)

    Consider an independence relation \(I \subseteq \Sigma \times \Sigma \), and let \(\le \) be a total order on \(\Sigma \). Then an acyclic relation \(\ltimes \) whose symmetric closure is \(I\) is given by

    $$\begin{aligned} a \ltimes b: \Leftrightarrow a \,I\, b, \; a \le b. \end{aligned}$$
  2. (ii)

    Let \(I\) be an independence relation on \(\Sigma \), and let \(\textrm{pid} :\Sigma \rightarrow {\mathbb {N}}\) be a function associating with each label a process ID. If no two actions of the same process are independent, an acyclic relation \(\ltimes \) whose symmetric closure is \(I\) is given by

    $$\begin{aligned} a \ltimes b: \Leftrightarrow a \,I\, b, \; \mathrm{{pid}}(a) \le \mathrm{{pid}}(b). \end{aligned}$$

4.3 HDA models

Let \({\mathcal {T}}= (X, \imath , F, \lambda )\) be a transition system, and let \(R\) be a relation on \(\Sigma \). The relation \(R\) does not have to satisfy any condition. We say that an HDA \({\mathcal {Q}}= (Q, \jmath , G, \mu )\) is an HDA model of \({\mathcal {T}}\) with respect to \(R\) if the following conditions hold:

HM1:

\({\mathcal {Q}}_{\le 1} = {\mathcal {T}}\), i.e., \(Q_{\le 1} = X\), \(\jmath = \imath \), \(G = F\), and \(\mu = \lambda \).

HM2:

For all \(x \in Q_2\), \(\lambda (d^0_2x)\;R\; \lambda (d^0_1x)\).

HM3:

For all \(m\ge 2\) and \(x,y \in Q_m\), if \(d^k_rx = d^k_ry\) for all \(r \in \{1,\dots ,m\}\) and \(k \in \{0,1\}\), then \(x = y\).

HM4:

\({\mathcal {Q}}\) is maximal with respect to the properties HM1-HM3, i.e., \({\mathcal {Q}}\) is not a proper sub-HDA of any HDA satisfying HM1-HM3.

Condition HM1 says that \({\mathcal {Q}}\) is built on top of \({\mathcal {T}}\) by filling in empty cubes. By condition HM2, an empty square may only be filled in if the labels of its edges are related. Condition HM3 ensures that no empty cube is filled in twice in the same way. By condition HM4, all admissible empty cubes are filled in.

It has been shown in Kahl (2019, Thm. 4.2, Cor. 4.5) that an HDA model of a transition system with respect to a given relation always exists and that its isomorphism class only depends on the isomorphism class of the transition system.

For later use, we state two propositions from Kahl (2019). The first deals with the filling of shells in the sense of Brown and Higgins (1981):

Proposition 4.3

(Kahl 2019, Prop. 4.3) Let \({\mathcal {T}}= (X, \imath , F, \lambda )\) be a transition system, and let \({\mathcal {Q}}= (Q, \imath , F, \lambda )\) be an HDA model of \({\mathcal {T}}\) with respect to a relation \(R\) on \(\Sigma \). Consider an integer \(n \ge 2\) and 2n (not necessarily distinct) elements \(x^k_i \in Q_{n-1}\) \((k \in \{0,1\}, i \in \{1, \dots ,n\})\) such that \(d^k_ix^l_j = d^l_{j-1}x^k_i\) for all \(1\le i<j \le n\) and \(k,l \in \{0,1\}\). If \(n=2\), suppose also that \(\lambda (x^0_i) = \lambda (x^1_i)\) for \(i \in \{1,2\}\) and that \(\lambda (x^0_2) \,R\, \lambda (x^0_1)\). Then there exists a unique element \(x \in Q_n\) such that \(d^k_ix = x^k_i\) for all \(i \in \{1, \dots ,n\}\) and \(k \in \{0,1\}\).

Proposition 4.4

(Kahl 2019, Prop. 4.7) Let \({\mathcal {T}}= (X, \imath , F, \lambda )\) be a transition system, and let \({\mathcal {Q}}= (Q,\imath , F, \lambda )\) be an HDA satisfying HM1 and HM2 with respect to \({\mathcal {T}}\) and a relation \(R\) on \(\Sigma \). Then \(\lambda (e_ix) \,R\, \lambda (e_jx)\) for all \(n \ge 2\), \(x \in Q_n\), and \(1 \le i < j \le n\).

5 The homology language of HDA models

Throughout this section, let \({\mathcal {T}}= (X,\imath ,F,\lambda )\) be a transition system, and let \(I\) be an independence relation on \(\Sigma \) that is the symmetric closure of an acyclic relation \(\ltimes \). Let furthermore \({\mathcal {A}}= (P, \imath ,F, \lambda )\) and \({\mathcal {Q}}= (Q,\imath ,F,\lambda )\) be HDA models of \({\mathcal {T}}\) with respect to \(I\) and \(\ltimes \), respectively. By the main result of this paper, \({\mathcal {Q}}\) is a much smaller HDA model of \({\mathcal {T}}\) than \({\mathcal {A}}\) with the same homology language:

Theorem 5.1

\({\mathcal {A}}\cong S{\mathcal {Q}}\) and \(HL({\mathcal {A}}) = HL({\mathcal {Q}})\).

By Theorem 3.3, it is enough to prove that \({\mathcal {A}}\cong S{\mathcal {Q}}\). Since \({\mathcal {T}}\) and \(S{\mathcal {T}}\) are canonically isomorphic transition systems, this is an immediate consequence of the fact that \(S{\mathcal {Q}}\) is an HDA model of \(S{\mathcal {T}}\) with respect to \(I\), which will be established in Proposition 5.6 below after a number of preparatory results. The labeling function of \(S{\mathcal {T}}\) and \(S{\mathcal {Q}}\) will be denoted by \(\mu \). Recall that \(\mu \) is defined by \(\mu (id,x) = \lambda (x)\).

Lemma 5.2

Let \({\mathcal {B}}= (B,(id,\imath ),S_0\times F, \mu )\) be an HDA satisfying HM1 and HM2 with respect to \(S{\mathcal {T}}\) and \(I\). Then for each \(b \in B_n\) \((n \ge 2)\), there exists a unique permutation \(\vartheta _b\in S_n\) such that for all \(1 \le i < j \le n\),

$$\begin{aligned} \mu (e_{\vartheta _b(i)}b) \ltimes \mu (e_{\vartheta _b(j)}b). \end{aligned}$$

Moreover, setting \(\vartheta _b = id\) for \(b \in B_{\le 1}\), the map \(\vartheta :B \rightarrow S\) is a morphism of precubical sets.

Proof

Let \(b \in B_n\) \((n\ge 2)\). By Proposition 4.4, we have \(\mu (e_ib) \,I\, \mu (e_jb)\) for all \(1 \le i < j \le n\). Since \(I\) is irreflexive, it follows that the set

$$\begin{aligned} M = \{\mu (e_ib)\,|\, i \in \{1, \dots , n\}\} \end{aligned}$$

has \(n\) elements. Moreover, since \(I\) is the symmetric closure of \(\ltimes \), we have \(\mu (e_ib) \ltimes \mu (e_jb)\) or \(\mu (e_jb) \ltimes \mu (e_ib)\) for all \(i \not =j\). Since \(\ltimes \) is acyclic, this implies that it is transitive on \(M\). Indeed, if \(\mu (e_ib) \ltimes \mu (e_jb)\) and \(\mu (e_jb) \ltimes \mu (e_kb)\), then \(k \not = i\) and \(\mu (e_kb) \not \! \ltimes \mu (e_ib)\), which implies \(\mu (e_ib) \ltimes \mu (e_kb)\). Hence \(\ltimes \) is a strict total order on \(M\). Since \(M\) has \(n\) elements, it follows that there exists a unique permutation \(\vartheta _b \in S_n\) such that

$$\begin{aligned} \mu (e_{\vartheta _b(i)}b) \ltimes \mu (e_{\vartheta _b(j)}b) \end{aligned}$$

for all \(1 \le i < j \le n\).

It remains to check that \(\vartheta \) is a morphism of precubical sets. Let \(b \in B_n\) \((n\ge 1)\), \(i \in \{1, \dots ,n\}\), and \(k \in \{0,1\}\). If \(n \le 2\), then \(d_i\vartheta _b = id = \vartheta _{d^k_ib}\). Suppose that \(n \ge 3\). We have

$$\begin{aligned} e_jd^0_ib = \left\{ \begin{array}{ll} e_jb, &{} 1 \le j< i,\\ e_{j+1}b, &{} i \le j < n. \end{array}\right. \end{aligned}$$

Since parallel edges of a cube have the same label (see, e.g., Kahl (2019, Lemma 4.6)), we have \(\mu (e_jd^1_ib) = \mu (e_jd^0_ib)\) for all \(j \in \{1, \dots , n-1\}\). Hence for \(k\in \{0,1\}\),

$$\begin{aligned} \mu (e_jd^k_ib) = \left\{ \begin{array}{ll} \mu (e_jb), &{} 1 \le j< i,\\ \mu (e_{j+1}b), &{} i \le j < n. \end{array}\right. \end{aligned}$$

We therefore have

$$\begin{aligned} \mu (e_{d_i\vartheta _b(j)}d^k_ib)&= \left\{ \begin{array}{ll} \mu (e_{\vartheta _b(j)}d^k_ib), &{} j< \vartheta _b^{-1}(i),\; \vartheta _b(j)< i,\\ \mu (e_{\vartheta _b(j) - 1}d^k_ib), &{} j< \vartheta _b^{-1}(i),\; \vartheta _b(j)> i,\\ \mu (e_{\vartheta _b(j+1)}d^k_ib), &{} j \ge \vartheta _b^{-1}(i),\; \vartheta _b(j+1)< i,\\ \mu (e_{\vartheta _b(j+1)-1}d^k_ib),&{} j \ge \vartheta _b^{-1}(i),\; \vartheta _b(j+1) > i \end{array}\right. \\&= \left\{ \begin{array}{ll} \mu (e_{\vartheta _b(j)}b), &{} j < \vartheta _b^{-1}(i),\\ \mu (e_{\vartheta _b(j+1)}b), &{} j \ge \vartheta _b^{-1}(i). \end{array}\right. \end{aligned}$$

Let \(1 \le j < r \le n-1\). If \(j< r < \vartheta _b^{-1}(i)\), we have

$$\begin{aligned} \mu (e_{d_i\vartheta _b(j)}d^k_ib) = \mu (e_{\vartheta _b(j)}b) \ltimes \mu (e_{\vartheta _b(r)}b) = \mu (e_{d_i\vartheta _b(r)}d^k_ib). \end{aligned}$$

If \(j < \vartheta _b^{-1}(i) \le r\), we have

$$\begin{aligned} \mu (e_{d_i\vartheta _b(j)}d^k_ib) = \mu (e_{\vartheta _b(j)}b) \ltimes \mu (e_{\vartheta _b(r +1)}b) = \mu (e_{d_i\vartheta _b(r)}d^k_ib). \end{aligned}$$

If \( \vartheta _b^{-1}(i) \le j < r\), we have

$$\begin{aligned} \mu (e_{d_i\vartheta _b(j)}d^k_ib) = \mu (e_{\vartheta _b(j+1)}b) \ltimes \mu (e_{\vartheta _b(r +1)}b) = \mu (e_{d_i\vartheta _b(r)}d^k_ib). \end{aligned}$$

Thus, \(\vartheta _{d^k_ib} = d_i\vartheta _b\). \(\square \)

Lemma 5.3

Let \({\mathcal {B}}= (B,(id,\imath ),S_0\times F, \mu )\) be an HDA satisfying HM1 and HM2 with respect to \(S{\mathcal {T}}\) and \(I\). Then there exists a unique morphism of graded sets \(\phi :B \rightarrow Q\) such that \(\phi _{\le 1} :B_{\le 1} \rightarrow Q_{\le 1}\) is the isomorphism given by \((id,x) \mapsto x\) and such that \(d^k_i\phi (b) = \phi (d^k_{\vartheta _b(i)}b)\) for all \(b \in B_n\) \((n \ge 1)\), \(i \in \{1, \dots , n\}\), and \(k \in \{0,1\}\).

Proof

We construct \(\phi \) inductively. Let \(n \ge 2\), and suppose we have constructed \(\phi \) up to degree \(n-1\). Let \(b \in B_n\). Consider the elements \(y^k_i = \phi (d^k_{\vartheta _b(i)}b) \in Q_{n-1}\). Suppose that \(1 \le i < j \le n\). By Lemma 5.2, \(\vartheta _{d^l_{\vartheta _b(j)}b} = d_{\vartheta _b(j)}\vartheta _{b}\) and \(\vartheta _{d^k_{\vartheta _b(i)}b} = d_{\vartheta _b(i)}\vartheta _b\). Hence, by the inductive hypothesis and Proposition 2.2,

$$\begin{aligned} d^k_i y^l_j&= d^k_i\phi (d^l_{\vartheta _b(j)}b) = \phi (d^k_{d_{\vartheta _b(j)}\vartheta _{b}(i)}d^l_{\vartheta _b(j)}b)\\&= \phi (d^l_{d_{\vartheta _b(i)}\vartheta _b(j-1)}d^k_{\vartheta _{b}(i)}b) = d^l_{j-1}\phi (d^k_{\vartheta _{b}(i)}b)\\&= d^l_{j-1}y^k_i. \end{aligned}$$

If \(n = 2\), we also have

$$\begin{aligned} \lambda (y^0_i) = \lambda (\phi (d^0_{\vartheta _b(i)}b)) = \mu (d^0_{\vartheta _b(i)}b) = \mu (d^1_{\vartheta _b(i)}b) = \lambda (\phi (d^1_{\vartheta _b(i)}b)) = \lambda (y^1_i) \end{aligned}$$

for all \(i \in \{1,2\}\). Moreover, by Lemma 5.2,

$$\begin{aligned} \lambda (y^0_2)&= \lambda (\phi (d^0_{\vartheta _b(2)}b)) = \mu (d^0_{\vartheta _b(2)}b) = \mu (e_{\vartheta _b(1)}b)\\&\ltimes \mu (e_{\vartheta _b(2)}b) = \mu (d^0_{\vartheta _b(1)}b) = \lambda (\phi (d^0_{\vartheta _b(1)}b)) = \lambda (y^0_1). \end{aligned}$$

By Proposition 4.3, there exists a unique cube \(y \in Q_n\) such that \(d^k_iy = y^k_i\) for all \(k \in \{0,1\}\) and \(i \in \{1, \dots , n\}\). We set \(\phi (b) = y\). This defines \(\phi \) in degree \(n\). \(\square \)

Lemma 5.4

\(S{\mathcal {Q}}\) satisfies HM1 and HM2 with respect to \(S{\mathcal {T}}\) and \(I\).

Proof

  1. HM1:

    We have

    $$\begin{aligned} (S{\mathcal {Q}})_{\le 1}&= ((SQ)_{\le 1}, (id,\imath ),S_0\times F, \mu ) = (SQ_{\le 1}, (id,\imath ),S_0\times F, \mu )\\&= (SX, (id,\imath ),S_0\times F, \mu ) = S{\mathcal {T}}. \end{aligned}$$
  2. HM2:

    Let \((\theta , x)\in ({SQ})_2 = S_2\times Q_2\). For \(i \in \{1,2\}\),

    $$\begin{aligned} \mu (d^0_i(\theta ,x)) = \mu (d_i\theta ,d^0_{\theta ^{-1}(i)}x) = \mu (id,d^0_{\theta ^{-1}(i)}x) = \lambda (d^0_{\theta ^{-1}(i)}x). \end{aligned}$$

Thus if \(\theta = id\),

$$\begin{aligned} \mu (d^0_2(\theta ,x)) = \lambda (d^0_{2}x) \ltimes \lambda (d^0_{1}x) = \mu (d^0_1(\theta ,x)). \end{aligned}$$

If \(\theta \) is the transposition \((2 \;\, 1)\),

$$\begin{aligned} \mu (d^0_1(\theta ,x)) = \lambda (d^0_{2}x) \ltimes \lambda (d^0_{1}x) = \mu (d^0_2(\theta ,x)). \end{aligned}$$

In both cases, \(\mu (d^0_2(\theta ,x)) \,I\, \mu (d^0_1(\theta ,x))\). \(\square \)

Lemma 5.5

In \(S{\mathcal {Q}}\), \(\vartheta _{(\theta ,x)} = \theta \) for all elements \((\theta ,x )\).

Proof

Let \((\theta , x) \in (SQ)_n\). We may suppose that \(n \ge 2\). By Kahl (2022, Prop. 4.3), \(e_i(\theta ,x) = (id,e_{\theta ^{-1}(i)}x)\). Hence

$$\begin{aligned} \mu (e_i(\theta ,x)) = \mu (id,e_{\theta ^{-1}(i)}x) = \lambda (e_{\theta ^{-1}(i)}x). \end{aligned}$$

Thus, \(\mu (e_{\theta (i)}(\theta ,x)) = \lambda (e_ix)\). By Proposition 4.4,

$$\begin{aligned} \mu (e_{\theta (i)}(\theta ,x)) = \lambda (e_ix) \ltimes \lambda (e_jx) = \mu (e_{\theta (j)}(\theta ,x)) \end{aligned}$$

for all \(1 \le i < j \le n\). Consequently, by Lemma 5.2, \(\vartheta _{(\theta ,x)} = \theta \). \(\square \)

Proposition 5.6

\(S{\mathcal {Q}}\) is an HDA model of \(S{\mathcal {T}}\) with respect to \(I\).

Proof

By Lemma 5.4, we only have to show HM3 and HM4.

HM3: Let \(m \ge 2\), and let \({(\sigma , x), (\theta , y) \in (SQ)_m = S_m \times Q_m}\) such that \(d^k_r(\sigma , x) = d^k_r(\theta , y)\) for all \(r \in \{1, \dots , m\}\) and \(k \in \{0,1\}\). Then \((d_r\sigma , d^k_{\sigma ^{-1}(r)}x) = (d_r\theta , d^k_{\theta ^{-1}(r)}y)\) for all \(r\) and \(k\). If \(m \ge 3\), this implies \((\sigma , x) = (\theta , y)\) by Proposition 2.1. In the case \(m = 2\), it is enough to show that \(\sigma = \theta \). Suppose that this is not the case. Then we may assume that \(\sigma = id\) and \(\theta = (2 \;\,1)\). But then

$$\begin{aligned} \lambda (d^0_1y) = \lambda (d^0_2x) \ltimes \lambda (d^0_1x) = \lambda (d^0_2y), \end{aligned}$$

which is impossible because \(\ltimes \) is asymmetric.

HM4: Suppose that \({\mathcal {B}}= (B, (id, \imath ), S_0\times F, \mu )\) is an HDA satisfying conditions HM1–HM3 with respect to \(S{\mathcal {T}}\) and \(I\) that contains \(S{\mathcal {Q}}\) as a sub-HDA. We have to show that \(B = SQ\). Since \(S{\mathcal {Q}}\subseteq {\mathcal {B}}\), the maps \(\vartheta :B \rightarrow S\) and \(\vartheta :SQ \rightarrow S\) coincide on \(SQ\). Let \(\phi :B \rightarrow Q\) be the map of graded sets of Lemma 5.3. The corresponding map for \(S{\mathcal {Q}}\) is the map \(\psi :SQ \rightarrow Q\) given by \(\psi (\theta ,x) = x\). Indeed, by Lemma 5.5, \(d^k_i\psi (\theta ,x) = d^k_i x = \psi (d_{\theta (i)}\theta ,d^k_ix) = \psi (d_{\theta (i)}\theta ,d^k_{\theta ^{-1}(\theta (i))}x) = \psi (d^k_{\theta (i)}(\theta ,x)) = \psi (d^k_{\vartheta _{(\theta ,x)}(i)}(\theta ,x))\). Since \(S{\mathcal {Q}}\subseteq {\mathcal {B}}\), the restriction of \(\phi \) to \(SQ\) is \(\psi \).

By HM1, \(B_{\le 1} = (SQ)_{\le 1}\). Let \(m \ge 2\), and suppose inductively that \(B_{<m} = (SQ)_{<m}\). Let \(b \in B_m\). By the inductive hypothesis, \(d^k_ib \in (SQ)_{m-1}\). Write \(d^k_ib = (\theta ,x)\). We have

$$\begin{aligned} d^k_i(\vartheta _b, \phi (b))&= (d_i\vartheta _b, d^k_{\vartheta ^{-1}_b(i)}\phi (b)) = (\vartheta _{d^k_ib}, \phi (d^k_{i}b)) = (\vartheta _{d^k_ib}, \psi (d^k_{i}b))\\&= (\vartheta _{(\theta ,x)}, \psi (\theta ,x)) = (\theta ,x) = d^k_ib. \end{aligned}$$

By HM3, it follows that \(b = (\vartheta _b, \phi (b)) \in (SQ)_m\). \(\square \)