Brzozowski Goes Concurrent - A Kleene Theorem for Pomset Languages
Tobias Kapp\'e, Paul Brunet, Bas Luttik, Alexandra Silva, Fabio Zanasi

TL;DR
This paper introduces a new automaton model and a Kleene-like theorem for Concurrent Kleene Algebra, advancing the understanding of concurrent program behaviors and their formal language representations.
Contribution
It presents a novel automaton construction using Brzozowski derivatives and characterizes automata that represent valid CKA behaviors, addressing a longstanding open problem.
Findings
Automaton model for CKA behaviors established
Kleene-like theorem relating CKA to pomset languages proved
Syntactic characterization of automata for CKA behaviors provided
Abstract
Concurrent Kleene Algebra (CKA) is a mathematical formalism to study programs that exhibit concurrent behaviour. As with previous extensions of Kleene Algebra, characterizing the free model is crucial in order to develop the foundations of the theory and potential applications. For CKA, this has been an open question for a few years and this paper makes an important step towards an answer. We present a new automaton model and a Kleene-like theorem that relates a relaxed version of CKA to series-parallel pomset languages, which are a natural candidate for the free model. There are two substantial differences with previous work: from expressions to automata, we use Brzozowski derivatives, which enable a direct construction of the automaton; from automata to expressions, we provide a syntactic characterization of the automata that denote valid CKA behaviours.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
\newaliascnt
lemmatheorem \aliascntresetthelemma \newaliascntcorollarytheorem \aliascntresetthecorollary
\newaliascntdefinitiontheorem \aliascntresetthedefinition
mathx"30 mathx"38
Brzozowski Goes Concurrent A Kleene Theorem for Pomset Languages
Tobias Kappé [email protected] University College London, London, United Kingdom
Paul Brunet
University College London, London, United Kingdom
Bas Luttik
Eindhoven University of Technology, Eindhoven, The Netherlands
Alexandra Silva
University College London, London, United Kingdom
Fabio Zanasi
University College London, London, United Kingdom
Abstract
Concurrent Kleene Algebra (CKA) is a mathematical formalism to study programs that exhibit concurrent behaviour. As with previous extensions of Kleene Algebra, characterizing the free model is crucial in order to develop the foundations of the theory and potential applications. For CKA, this has been an open question for a few years and this paper makes an important step towards an answer. We present a new automaton model and a Kleene-like theorem that relates a relaxed version of CKA to series-parallel pomset languages, which are a natural candidate for the free model. There are two substantial differences with previous work: from expressions to automata, we use Brzozowski derivatives, which enable a direct construction of the automaton; from automata to expressions, we provide a syntactic characterization of the automata that denote valid CKA behaviours.
1 Introduction
In their CONCUR’09 paper [5], Hoare, Möller, Struth, and Wehrman introduced Concurrent Kleene Algebra (CKA) as a suitable mathematical framework to study concurrent programs, in the hope of achieving the same elegance that Kozen did when using Kleene Algebra (and extensions) to provide a verification platform for sequential programs.
CKA is a seemingly simple extension of Kleene Algebra (KA): it adds a parallel operator that allows to specify concurrent behaviours compositionally. However, extending the existing KA toolkit — importantly, completeness and decidability results — turns out to be challenging. A fundamental missing ingredient is a characterization of the free model for CKA. This is in striking contrast with KA, where these topics are well understood. Several authors [6, 8] have conjectured the free model to be series-parallel pomset languages — a generalization of regular languages to sets of partially ordered words.
In KA, Kleene’s theorem provided a pillar for developing the toolkit and axiomatization [12], and, by extension, characterizing the free model. In this light, we pursue a Kleene Theorem for CKA. Specifically, we study series-rational expressions, with a denotational model in terms of pomset languages. Our main contribution is a Kleene Theorem for series-rational expressions, based on constructions faithfully translating between the denotational model and a newly defined operational model, which we call pomset automata. In a nutshell, these are finite-state automata in which computations from a certain state may branch into parallel threads that contribute to the language of whenever they both reach a final state.
We are not the first to attempt such a Kleene theorem. However, earlier works [15, 8] fall short of giving a precise correspondence between the denotational and operational models, due to the lack of a suitable automata restriction ensuring that only valid behaviours are accepted. We overcome this situation by introducing a generalization of Brzozowski derivatives [3] in the translation from expressions to automata. This guides us to a syntactic restriction on automata (rather than the semantic condition put forward in previous works), which guarantees the existence of a reverse construction, from automata to expressions. Moreover, following the Brzozowski route allows us to bypass a Thompson-like construction [18], avoiding the introduction of -transitions and non-determinism present in the aforementioned works.
Since series-parallel expressions do not include the parallel analogue of the Kleene star (the “parallel star”), and our denotational model is not sound for the exchange law (which governs the interaction between sequential and parallel composition), our contribution is most accurately described as an operational model for weak Bi-Kleene Algebra. We leave it to future work to extend our construction to work with a denotational model that is sound for the exchange law (thus moving to weak Concurrent Kleene Algebra), as well as add the parallel star operator (arriving at Concurrent Kleene Algebra proper).
The remainder of this paper is organized as follows. In Section 2, we introduce the necessary notation. In Section 3, we introduce our automaton model as well as some notable subclasses of automata. In Section 4, we discuss how to translate a series-rational expression to a semantically equivalent pomset automaton, while in Section 5 we show how to translate a suitably restricted class of pomset automata to series-rational expressions. We contrast results with earlier work in Section 6. Directions for further work in are listed in Section 7.
To preserve the flow of the narrative, proofs of the more routine lemmas appear in Appendix A.
Acknowledgements
We thank the anonymous reviewers for their insightful comments. This work was partially supported by the ERC Starting Grant ProFoundNet (grant code 679127).
2 Preliminaries
Let be a set; we write for the set of all subsets of , and for the set of multisets over of size two. An element of containing is written ; note that , and that may be the same as . We use the symbols and to denote multisets. If and are sets, and for every there exists an , we call an -indexed family over . We say that a relation is a strict order on if it is irreflexive and transitive. We refer to as well-founded if there are no infinite descending -chains, i.e., no family over such that . Throughout the paper we fix a finite set called the alphabet, whose elements are symbols usually denoted with and . Lastly, if is a ternary relation, we write instead of .
2.1 Pomsets
Partially-ordered multisets, or pomsets [4] for short, generalise words to a setting where events (elements from ) may take place not just sequentially, but also in parallel.
Definition \thedefinition.
A labelled poset is a tuple consisting of a carrier set , a partial order on and a labelling function . A labelled poset isomorphism is a bijection between poset carriers that bijectively preserves the labels and the ordering. A pomset is an isomorphism class of labelled posets; equivalently, it is a labelled poset up-to bijective renaming of elements in . We write for the empty pomset, for the set of all pomsets and for the set of all the non-empty pomsets.
For instance, suppose a recipe for caramel-glazed cookies tells us to
(i) preparecookie dough
(ii) bakecookies in the oven
(iii) caramelizesugar
(iv) glazethe finished cookies.
Here, step (i) precedes steps (ii) and (iii). Furthermore, step (iv) succeeds both steps (ii) and (iii). A pomset representing this process could be , where and is such that and ; is as in the recipe.
Note that words are just finite pomsets with a total order. We will sometimes use to refer to the pomset with a single point labelled (and the obvious order); such a pomset is called primitive. A pomset can be represented as a Hasse diagram, where nodes have labels in . For instance, the Hasse diagram for the pomset above is drawn in Figure 1(a).
To simplify notation, we refer to a pomset by the carrier of a labelled poset in its isomorphism class. We use the symbols , , and to denote pomsets. Pomsets being isomorphism classes, the content of the carrier of the chosen representative is of very little importance; it is the order and labelling that matters. For this reason, we tacitly assume that whenever we have two pomsets, we pick representatives that have disjoint carrier sets.
Definition \thedefinition.
The width of a pomset , denoted , is the size of the largest antichain in with respect to , i.e., the maximum such that there exist that are not related by .
The pomsets we work with in this paper have a finite carrier. As a result, is always defined. For instance, the width of the pomset above is , because the nodes and are an antichain of size , and there is no antichain of size .
Definition \thedefinition.
Let and be pomsets. The sequential composition of and , denoted , is the pomset . The parallel composition of and , denoted , is the pomset . Here, is the function from to that agrees with on , and with on .
Note that is the unit for both sequential and parallel composition. Sequential composition forces the events in the left pomset to be ordered before those in the right pomset. An example, describing the pomset , is depicted in Figure 1(b).
Definition \thedefinition.
The set of series-parallel pomsets, , is the smallest set that includes the empty and primitive pomsets and is closed under sequential and parallel composition.
In this paper we will be mostly concerned with series-parallel pomsets. For inductive reasoning about them, it is useful to record the following lemma.
Lemma \thelemma.
*Let . If is non-empty, then exactly one of the following is true:
(i) for some , or
(ii) for non-empty , strictly smaller than , or
(iii) for non-empty , strictly smaller than .
Proof.
We first show that at least one case must hold. The proof proceeds by induction on the construction of . In the base, is a primitive pomset (since it is non-empty), and thus for some ; (i) holds. In the inductive step, there are two cases to consider.
- •
If for and series-parallel, suppose that either or is empty. Then or respectively, and thus the claim follows by induction. If neither nor is empty, they must both be strictly smaller than , and thus (ii) holds.
- •
If for and series-parallel, suppose that either or is empty. Then or respectively, and thus the claim follows by induction. If neither nor is empty, they must both be strictly smaller than , and thus (iii) holds.
To see that at most one of (i), (ii) and (iii) can hold, assume that at least two of them hold. There are three combinations to consider; we derive a contradiction for each.
- •
If (i) and (ii) hold, then for some and non-empty , strictly smaller than . But then and must both be empty (since , and thus must be of size one), and thus it follows that must be empty as well — a contradiction.
- •
If (i) and (iii) hold, then a contradiction is reached by an argument similar to the above.
- •
If (ii) and (iii) hold, then and for non-empty , all strictly smaller than . Suppose is in , and is in (such a and exist, since and are non-empty). Then is ordered before in , since . But then and are either both in or both in — if they were not, this would contradict the definition of parallel composition. Suppose and are both in , and let be in (such a exists, since is non-empty). Then is ordered neither before nor after or in , and thus the same holds in . But then is not in (otherwise, would be ordered before ), nor in (otherwise, would be ordered after ). This contradicts that . A similar argument can be made for the case where and are both in . ∎
2.2 Pomset languages
If a sequential program can exhibit multiple traces, we can group the words that represent these traces into a set called a language. By analogy, we can group the pomsets that represent the traces that arise from a parallel program into a set, which we refer to as a pomset language. Pomset languages are denoted by the symbols and .
For instance, suppose that the recipe for glazed cookies may has an optional fifth step where chocolate sprinkles are spread over the cookies. In that case, there are two pomsets that describe a trace arising from the recipe, and , either with or without the chocolate sprinkles. The pomset language describes the new recipe.
Definition \thedefinition.
Let be a pomset language. has bounded width if there is such that for all we have . The minimal such is the width of , written .
The pomset languages considered in this paper have bounded width, and hence is always defined. For instance, the width of is , because the width of both and is .
The sequential and parallel compositions of pomsets can be lifted to pomset languages. We also define a Kleene closure operator, similar to the one defined on languages of words.
Definition \thedefinition.
Let and be pomset languages. We define:
[TABLE]
Where , and for all .
Kleene closure models indefinite repetition. For instance, if our cookie recipe has a final step “repeat until enough cookies have been made”, the pomset language represents all possible traces of repetitions of the recipe; e.g., is the trace where first two batches of sprinkled cookies are made, followed by one without sprinkles.
2.3 Series-rational expressions
Just like a rational expression can be used to describe a regular structure of sequential events, a series-rational expression can be used to describe a regular structure of possibly parallel events. Series-rational expressions are rational expressions with parallel composition.
Definition \thedefinition.
The series-rational expressions, denoted , are formed by the grammar
[TABLE]
We use the symbols , , , and to denote series-rational expressions.
The semantics of a series-rational expression is given by a pomset language.
Definition \thedefinition.
The function \left\ldbrack-\right\rdbrack:{\mathcal{T}_{\Sigma}}\to 2^{\mathsf{Pom}_{\Sigma}} is defined inductively, as follows:
[TABLE]
If such that \mathcal{U}=\left\ldbrack e\right\rdbrack for some , then is a series-rational language.
To illustrate, consider the pomset language , which describes the possible traces arising from indefinitely repeating the cookie recipe, optionally adding chocolate sprinkles at every repetition. We can describe the pomset language with the series-rational expression , and by , which yields the series-rational expression for . By construction, \left\ldbrack c^{*}\right\rdbrack=\mathcal{C}^{*}.
2.4 Additive congruence
The following congruence on series-rational expressions will be instrumental in analyzing the automaton we introduce in Section 4, and for restricting said automaton to be finite in Section 4.5.
Definition \thedefinition.
We define as the smallest congruence on such that: {mathpar} e_1 + 0 ≃e_1 e_1 + e_1 ≃e_1 e_1 + e_2 ≃e_2 + e_1 e_1 + (e_2 + e_3) ≃(e_1 + e_2) + e_3
0 ⋅e_1 ≃0 e_1 ⋅0 ≃0 0 ∥e ≃0 e ∥0 ≃0
When such that and , we write .
Thus, when we claim that , we say that is equal to , modulo associativity, commutativity and idempotence of , as well as its unit [math], and possibly annihilation of sequential and parallel composition by [math]. Moreover, this congruence is sound with respect to the semantics, and it identifies all expressions that have an empty denotational semantics.
Lemma \thelemma.
Let . If , then \left\ldbrack e\right\rdbrack=\left\ldbrack f\right\rdbrack. Also, if and only if \left\ldbrack e\right\rdbrack=\emptyset.
Proof.
Refer to Appendix A. ∎
There is a simple linear time decision procedure to test whether two expressions are congruent. This justifies our using this relation to build finite automata later on. As a by-product, we get that the emptiness problem for series-rational expressions is linear time decidable.
3 Pomset Automata
We are now ready to describe an automaton model that recognises series-rational languages.
Definition \thedefinition.
A pomset automaton (PA) is a tuple where is a set of states, with the accepting states, is a function called the sequential transition function, is a function called the parallel transition function.
Note that we do not fix an initial state. As a result, a PA does not define a single pomset language but rather a mapping from its states to pomset languages. The language of a state is defined in terms of a trace relation that involves the transitions of both and . Here, plays the same role as in classic finite automata: given a state and a symbol, it returns the new state after reading that symbol. The function warrants a bit more explanation. Given a state and a binary multiset of states , tells us the state that is reached after reading two input streams in parallel starting at states and , and having both “subprocesses” reach an accepting state. The precise meaning is given in Definition 3 below.
Definition \thedefinition.
is the smallest relation satisfying the rules {mathpar} \inferrule q _A δ(q, a) \inferruleq _A q”
q” _A q’ q _A q’ \inferruler _A r’ ∈F
s _A s’ ∈F q _A γ(q, {|r, s|})
We also define by q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}\mkern-14.0mu\rightarrow}}_{A}q^{\prime} if and only if and , or q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q^{\prime}. The language of at , denoted , is the set \{U:\exists q^{\prime}\in F.\ q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}\mkern-14.0mu\rightarrow}}_{A}q^{\prime}\}. We say that accepts the language if there exists a such that .
Intuitively, ensures that when a process forks at state into subprocesses starting at and , if each of those reaches an accepting state, then the processes can join at .
We purposefully omit the empty pomset as a label in ; doing so would open up the possibility of having traces of the form q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{1}}}_{A}q^{\prime} with (i.e., “silent transitions” or “-transitions”) for example by defining for some . Avoiding transitions of this kind allows us to prove claims about by induction on the pomset size, and leverage Lemma 2.1 in the process to disambiguate between the rules that apply. By extension, we can prove claims about and by treating as a special case.
For the remainder of this section, we fix a PA , and a state . To simplify matters later on, we assume that has a state such that, for every , it holds that and, for every , it holds that . Such a sink state is particularly useful when defining : for a fixed not all may give a value of that contributes to the language accepted by . In such cases, we can define . Alternatively, we could have allowed to be a partial function; we chose as a total function so as not to clutter the definition of derivatives in Section 4.
We draw a PA in a way similar to finite automata: each state (except ) is a vertex, and accepting states are marked by a double border. To represent sequential transitions, we draw labelled edges; for instance, in Figure 1(c), . To represent parallel transitions, we draw hyper-edges; for instance, in Figure 1(c), . To avoid clutter, we do not draw either of these edges types the target state is . It is not hard to verify that the pomset of the earlier example is accepted by the PA in Figure 1(c).
In principle, the state space of a PA can be infinite; we use this in Section 4 to define a PA that has all possible series-rational expressions as states. It is however also useful to know when we can prune an infinite PA into a finite PA while preserving the languages of the retained states. In Section 5, we use this to translate the PA to a series-rational expression.
Note that it is not sufficient to talk about reachable states, i.e., states that appear in the target of some trace; we must also include states that are “meaningful” starting points for subprocesses. To do this, we first need a handle on these starting points. Specifically, we are interested in the states where
(1) the eventual join of the states yields a state that contributes to the behaviour of the PA, and
(2) the states may join again, because they are not the sink state.
This is captured in the definition below.
Definition \thedefinition.
The support of , written , is .
We can now talk about subsets of states of an automaton that are closed, in the sense that the relevant part of a transition function has input and output confined to this set. As a result, we can confine the structure of a given PA to a closed set.
Definition \thedefinition.
A set of states is closed when the following rules are satisfied {mathpar} \inferrule ⊥∈Q’ \inferruleq ∈Q’
a ∈Σδ(q, a) ∈Q’ \inferruleq ∈Q’
ϕ∈π_A(q) γ(q, ϕ) ∈Q’ \inferruleq ∈Q’
{|r, s|} ∈π_A(q) r, s ∈Q’
If is closed, the generated sub-PA of induced by , denoted , is the tuple where and are the restrictions of and to .
Because the relevant parts of the transition functions are preserved, it is not surprising that the language of a state in a generated sub-PA coincides with the language of that state in the original PA.
Lemma \thelemma.
Let be closed. If , then .
Proof.
First, observe that if and only if , since if and only if . Now, suppose that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A^{\prime}}q^{\prime}; we show that in this case q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q^{\prime} follows. The proof proceeds by induction on . In the base, , and . But then , and so q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q^{\prime}. For the inductive step, there are two cases to consider:
- •
If with and smaller than , there exists a such that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A^{\prime}}q^{\prime\prime} and q^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A^{\prime}}q^{\prime}. By induction, we find q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}q^{\prime\prime} and q^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A}q^{\prime}, and thus q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q^{\prime}.
- •
If with and smaller than , then there exist and such that r\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A^{\prime}}r^{\prime} and s\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A^{\prime}}s^{\prime}, and . By induction we find that r\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}r^{\prime} and s\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A}s^{\prime}; note that . It then follows that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}\gamma(q,\{\mskip-4.0mu|r,s|\mskip-4.0mu\})=q^{\prime}.
For the other direction, suppose that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q^{\prime} and ; we show that in this case q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A^{\prime}}q^{\prime} follows. The proof proceeds by induction on . In the base, and . But then and so q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A^{\prime}}q^{\prime}. For the inductive step, there are two cases to consider:
- •
If with and smaller than , there exists a such that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}q^{\prime\prime} and q^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A}q^{\prime}. Since , we have that . By induction we then find that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A^{\prime}}q^{\prime\prime} (thus ) and so again by induction q^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A^{\prime}}q^{\prime}. In total, we obtain q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A^{\prime}}q^{\prime}.
- •
If with and smaller than , there exist and such that r\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}r^{\prime} and s\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A}s^{\prime}, and . Since , it holds that , thus ; also, since , we know that . By induction we find that r\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A^{\prime}}r^{\prime} and s\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A^{\prime}}s^{\prime}. Note that, since , also , and therefore . We then conclude that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A^{\prime}}\gamma\!\upharpoonright_{Q^{\prime}}(q,\{\mskip-4.0mu|r,s|\mskip-4.0mu\})=\gamma(q,\{\mskip-4.0mu|r,s|\mskip-4.0mu\})=q^{\prime}. ∎
We now work out how to find a closed subset of states that contains a particular state. The first step is to characterize the states reachable from by means of transitions.
Definition \thedefinition.
The reach of , written , is the smallest set satisfying the rules {mathpar} \inferrule q ∈ρ_A(q) \inferruleq’ ∈ρ_A(q)
a ∈Σδ(q’, a) ∈ρ_A(q) \inferruleq’ ∈ρ_A(q)
ϕ∈π_A(q) γ(q’, ϕ) ∈ρ_A(q)
The reach of a state is closely connected to the states that can be reached from through the trace relation of the automaton, in the following way:
Lemma \thelemma.
The set contains \{q^{\prime}\in Q:\exists U\in\mathsf{Pom}_{\Sigma}^{+}.\ q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q^{\prime}\}\cup\{q\}. Moreover, if is the only state of whose language is empty, this containment is an equality.
Proof.
Refer to Appendix A. ∎
Note that is not necessarily closed: we also need the states required by the fourth rule of closure in Definition 3. Thus, if we want to “close” by adding the support of its contents, we need to find closed sets of states that contain branching points. In order to do this inductively, we propose the following subclass of PAs.
Definition \thedefinition.
We say that is fork-acyclic if there exists a fork hierarchy, which is a strict order such that the following rules are satisfied. {mathpar} \inferrule{|r, s|} ∈π_A(q) r, s ≺_A q \inferrulea ∈Σ
r ≺_A δ(q, a) r ≺_A q \inferruleϕ∈π_A(q)
r ≺_A γ(q, ϕ) r ≺_A q
The fork hierarchy is connected with the reach of a state in the following way.
Lemma \thelemma.
Let . If is fork-acyclic, and , then .
Proof.
The proof proceeds by induction on the construction of . In the base, , in which case the claim holds vacuously.
For the inductive step, there are two cases to consider.
- •
If for some and , then we know that by definition of . But then by induction.
- •
If for some and , then we know that by definition of . But then by induction. ∎
The term fork-acyclic has been used in literature for similar automata [15, 7]. However, in op. cit., it is defined in terms of the traces that arise from the transition structure of the automaton. In contrast, our definition is purely syntactic: it imposes an order on states such that forks cannot be nested. To show that, as in [15], our definition implies that languages of the PA have bounded width, we present the following lemma. Since the state space of a PA can be infinite, we additionally require that the fork hierarchy is well-founded.
Lemma \thelemma.
If is fork-acyclic and is well-founded then is of finite width.
Proof.
If , let be the lowest upper bound on the length of a descending chain starting at , i.e., if are such that , then . Such an exists uniquely, for is well-founded. We strengthen our claim as follows: if , then .
It suffices to show that if and are such that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q^{\prime} and , then . The proof proceeds by nested induction. The outer induction is on ; here, we assume the claim holds for all with (note that this implicitly covers the base, where ). The inner induction is on . In the base of the inner induction, and the claim holds immediately, for .
For the inductive step of the inner induction, there are two cases to consider.
- •
If , with and smaller than , then there exists a such that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}q^{\prime\prime} and q^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A}q^{\prime}. Since , we know that as well. Therefore, we know by the (inner and outer) induction hypothesis that . Furthermore, since by Lemma 3 (the case where was excluded), we know that by Lemma 3, therefore . Thus, by the (inner) induction hypothesis, it follows that that . But then as well.
- •
If , with and smaller than , then there exist and such that r\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}r^{\prime} and s\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A}s^{\prime}. By the outer induction hypothesis, we know that and . Furthermore, since , we know that , thus and therefore . We then derive
[TABLE]
This completes the proof. ∎
We introduce the notion of a bounded PA, which is sufficient to guarantee the existence of a closed, finite subset containing a given state, even when the PA has infinitely many states.
Definition \thedefinition.
Let be fork-acyclic. We say that is bounded if is well-founded, and for all , both and are finite.
Theorem 3.1**.**
If is bounded, then for every state of there exists a finite set of states that is closed and contains .
Proof.
The proof proceeds by -induction; this is sound, because is well-founded.
Suppose the claim holds for all with . If and , then and thus by Lemma 3; by induction we obtain for every such a finite set of states that is closed and contains . We choose:
[TABLE]
This set is finite because and are finite for all since is bounded. To see that is closed, it suffices to show that the last rule of closure holds for ; it does, since if and , then and , thus . ∎
3.1 Lock-step traces
Note that while the transition functions of a PA are deterministic in that their output is a single state rather than a set of states, the transition relation of a PA should not be thought of as deterministic. In particular, if q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q^{\prime} and q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q^{\prime\prime}, then does not hold in general. For instance, consider the case where and and furthermore s_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}s_{1}^{\prime}\in F and s_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}s_{2}^{\prime}\in F as well as r_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A}r_{1}^{\prime}\in F and r_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A}r_{2}^{\prime}\in F. Here, q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V\parallel W}}}_{A}q^{\prime} and q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V\parallel W}}}_{A}q^{\prime\prime}, but and may not be equal.
When working with traces in a PA, it is may be useful to be able to relate traces of the same pomset in the presence of this kind of determinism. To this end, we introduce the notion of lock-step traces. Intuitively, lock-step traces prevent the counterexample discussed above by requiring that the application of the third rule must use the same starting states in the construction of both traces.
Definition \thedefinition.
Let be a PA and let . Suppose that q_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q_{1}^{\prime} and q_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q_{2}^{\prime}; these traces are in lock-step if one of the following is true:
- (i)
for some 2. (ii)
, for and smaller than , and there exist such that q_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}q_{1}^{\prime\prime} and q_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}q_{2}^{\prime\prime} are in lock step, as well as q_{1}^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}q_{1}^{\prime} and q_{2}^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}q_{2}^{\prime} 3. (iii)
, for and smaller than , and there exist and such that r\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}r^{\prime} and s\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}s^{\prime}, as well as and .
It is easy to see that “being in lock-step” is an equivalence relation on traces.
The lemma below observes that traces that are in lock-step do enjoy determinism.
Lemma \thelemma.
Let be a PA and let and . If q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q_{1}^{\prime} and q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q_{2}^{\prime} are in lock-step, then .
Proof.
The proof proceeds by induction on . If , then and , and so the claim follows.
For the inductive step, there are two cases to consider.
- •
If with and smaller than , then there exist such that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}q_{1}^{\prime\prime} and q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}q_{2}^{\prime\prime} are in lock-step, as well as q_{1}^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A}q_{1}^{\prime} and q_{2}^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A}q_{2}^{\prime}. By induction, , and thus again by induction .
- •
If with and smaller than , then there exist and such that r\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}r^{\prime} and S\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}s^{\prime}, and and . The claim then follows. ∎
4 Expressions to automata
We now turn our attention to the task of translating a series-rational expression into a PA that accepts \left\ldbrack e\right\rdbrack. We employ Brzozowski’s method [3] to construct a single syntactic PA where every series-rational expression is a state accepting exactly its denotational semantics. To this end we must define which expressions are accepting, and how the sequential and parallel transition functions transform states — what are, in Brzozowski’s vocabulary, their sequential and parallel derivatives?
We start with the accepting states. In Brzozowski’s construction, a rational expression is accepting if its denotational semantics includes the empty word. Analogously, a series-rational expression is accepting if its denotational semantics includes the empty pomset.
Definition \thedefinition.
We define the set to be the smallest subset of satisfying the rules: {mathpar} \inferrule 1 ∈F_Σ\inferrulee ∈F_Σ
f ∈e + f, f + e ∈F_Σ\inferrulee, f ∈F_Σe ⋅f, f ⋅e ∈F_Σ\inferrulee, f ∈F_Σe ∥f, f ∥e ∈F_Σ\inferrulee ∈e^* ∈F_Σ
It is not hard to see that if and only if 1\in\left\ldbrack e\right\rdbrack. We use as a shorthand for if , and [math] otherwise. For an equation , we write as a shorthand for if holds, and [math] otherwise. We now define sequential and parallel derivatives:
Definition \thedefinition.
We define the functions and as follows:
[TABLE]
The definition of coincides with Brzozowski’s derivative on rational expressions. The definition of mimics the definition of on non-parallel terms except .
The definition of on parallel terms includes (in the first term) the possibility that the starting states provided to the parallel transition function are (congruent to) the operands of the parallel, in which case the target join state is the accepting state . The other two terms (as well as the definition of on a parallel term) account for the fact that if 1\in\left\ldbrack e\right\rdbrack, then \left\ldbrack f\right\rdbrack\subseteq\left\ldbrack e\parallel f\right\rdbrack. Since we do not allow traces labelled with the empty pomset, traces that originate from these operands are thus lifted to the composition when necessary.
Definition \thedefinition.
The syntactic PA is the PA .
We use as a shorthand for , and () as a shorthand for ().
The remainder of this section is devoted to showing that if , then L_{\Sigma}(e)=\left\ldbrack e\right\rdbrack.
4.1 Traces of congruent states
In the analysis of the syntactic trace relation , we often encounter sums of terms. To work with these, it is useful to identify terms modulo . In this section, we establish that such an identification is in fact sound, in the sense that if two expressions are related by , then the languages accepted by the states representing those expressions are also identical.
In the first step towards this goal, we show that is well-defined with respect to .
Lemma \thelemma.
Let be such that . Then if and only if .
Proof.
Refer to Appendix A. ∎
Also, and are well-defined with respect to , in the following sense:
Lemma \thelemma.
Let such that . If , then . Moreover, if with , then , and if with , then .
Proof.
Refer to Appendix A. ∎
With these lemmas in hand, we can show that is a “bisimulation” with respect to .
Lemma \thelemma.
Let be such that . If e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}e^{\prime}, then there exists an such that f\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime} and .
Proof.
The proof proceeds by induction on . In the base, . But then . If we choose , we find that f\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime} and by Lemma 4.1.
For the inductive step, there are two cases to consider.
- •
If with and smaller than , there exists an such that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}e^{\prime\prime} and e^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}e^{\prime}. By induction, we find an such that f\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f^{\prime\prime} and . Again by induction, we find such that f^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f^{\prime} and . This means that f\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime} with .
- •
If with and smaller than , there exist and such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime} and h\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h^{\prime}, and . Note that, in this case, by Lemma 4.2 (which will be proved shortly). If we choose we find that f\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime} with by Lemma 4.1. ∎
Let be a finite set, and let be an -indexed family of terms. In the sequel, we treat as a term, where the are summed in some arbitrary order or bracketing. The lemmas above guarantee that the precise choice of representing this sum as a term makes no matter with regard to the traces allowed.
4.2 Trace deconstruction
We proceed with a series of lemmas that characterise reachable states in the syntactic PA. More precisely, we show that the expressions reachable from some expression can be written as sums of expressions reachable from subexpressions of . For this reason, we refer to these observations as trace deconstruction lemmas: they deconstruct a trace of an expression into traces of “smaller” expressions. The purpose of these lemmas is twofold; in Section 4.4, they are used to characterise the languages of expressions as they appear in the syntactic PA, while in Section 4.5 they allow us to bound the reach of an expression.
We start by analysing the traces that originate in base terms, such as [math], , or .
Lemma \thelemma.
Let and such that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}e^{\prime}. If , then . Furthermore, if , then either and , or .
Proof.
The proof of the first claim proceeds by induction on . In the base, , and , thus the claim holds.
For the inductive step, there are two cases to consider.
- •
If , with and smaller than , then there exists an such that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}e^{\prime\prime} and e^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}e^{\prime}. By induction, , and thus again by induction .
- •
If , with and smaller than , then there exist and such that f\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f^{\prime} and g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}g^{\prime}, and furthermore .
The proof of the second claim also proceeds by induction on . In the base, . Then . If , then , otherwise ; thus the claim holds.
For the inductive step, there are two cases to consider.
- •
If with and smaller than , then there exists an such that b\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}e^{\prime\prime} and e^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}e^{\prime}. By induction, either and , or . In either case, by the first claim.
- •
If with and smaller than , then there exist and such that f\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f^{\prime} and g^{\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}g^{\prime}, and . The claim thus holds immediately. ∎
Note, however, that [math] and are not indistinguishable, for while .
We also consider the traces that originate in a sum of terms. The intuition here is that the input is processed by both terms simultaneously, and thus the target state must be the sum of the states that are the result of processing the input for each term individually.
Lemma \thelemma.
Let and . If e_{1}+e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}e^{\prime}, then there exist such that , and e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}e_{1}^{\prime} and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}e_{2}^{\prime}.
Proof.
The proof proceeds by induction on . In the base, , and . We can then choose and to validate the claim.
For the inductive step, there are two cases to consider.
- •
If with and smaller than , then there exists an such that e_{1}+e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}e^{\prime\prime} and e^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}e^{\prime}. By induction, we find such that , and e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}e_{1}^{\prime\prime} and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}e_{2}^{\prime\prime}. Again by induction, we find such that , and e_{1}^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}e_{1}^{\prime} and e_{2}^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}e_{2}^{\prime}. In conclusion, we find that e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}e_{1}^{\prime} and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}e_{2}^{\prime}.
- •
If , with and smaller than , then there exist such that , and furthermore there exist such that f\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f^{\prime} and g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}g^{\prime}. We can choose and to validate the claim. ∎
We now consider the traces starting in a sequential composition. The intuition here is that the syntactic PA must first proceed through the left operand, before it can proceed to process the right operand. Thus, either the pomset is processed by the left operand entirely, or we should be able to split the pomset in two sequential parts: the first part is processed by the left operand, and the second by the right operand.
Lemma \thelemma.
Let and be such that e_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f. There exist an and a finite set , as well as -indexed families over and over , and -indexed families , over , such that:
- •
* and e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime}, and*
- •
for all , e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}^{\prime}}\mkern-14.0mu\rightarrow}}_{\Sigma}f_{i}^{\prime}, e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}}}}_{\Sigma}f_{i}, and .
Proof.
The proof proceeds by induction on . In the base, , and . If on the one hand , then ; we choose and . If on the other hand , then ; we choose , , , , and . In either case, our choices validate the claim.
For the inductive step, we consider two cases.
- •
If , with and smaller than , then there exists a such that e_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g and g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f. By induction, we obtain a and a finite set , as well as -indexed families over and over , and -indexed families and over , such that
- –
and e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime}, and
- –
for all , e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V_{j}^{\prime}}\mkern-14.0mu\rightarrow}}_{\Sigma}g_{j}^{\prime}, e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V_{j}}}}_{\Sigma}g_{j} and .
By Lemma 4.1 and , as well as Lemma 4.2 and g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f, there exist and a -indexed family of terms over such that , g^{\prime}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h and for all , also g_{j}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}d_{j}.
Since g^{\prime}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h, we can find (again by induction) an , and a finite set (without loss of generality, disjoint from ) and -indexed families over and over , as well as -indexed families over and over such that
- –
and g^{\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h^{\prime}, and
- –
for all , g^{\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{k}^{\prime}}\mkern-14.0mu\rightarrow}}_{\Sigma}h_{k}^{\prime}, e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{k}}}}_{\Sigma}h_{k} and .
We now choose , and . Furthermore, we choose -indexed families over and over , as well as -indexed families over and over as follows:
[TABLE]
It remains to verify the requirements on our choices one by one. For the first claim, we can derive
[TABLE]
Furthermore, since e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime} and g^{\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h^{\prime}, we have that e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}h^{\prime}=f^{\prime}. For the second claim, let us fix an . Suppose first that , then:
- –
e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V_{i}^{\prime}}\mkern-14.0mu\rightarrow}}_{\Sigma}g_{i}^{\prime}, thus e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}^{\prime}}\mkern-14.0mu\rightarrow}}_{\Sigma}f_{i}^{\prime}
- –
e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V_{i}}}}_{\Sigma}g_{i} and g_{i}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}d_{i}, thus e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}}}}_{\Sigma}f_{i}
- –
.
Secondly, suppose that , then:
- –
e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime} and g^{\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{i}^{\prime}}\mkern-14.0mu\rightarrow}}_{\Sigma}h_{i}^{\prime}, thus e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}^{\prime}}\mkern-14.0mu\rightarrow}}_{\Sigma}f_{i}^{\prime}
- –
e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{i}}}}_{\Sigma}h_{i}, thus e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}}}}_{\Sigma}f_{i}
- –
.
All requirements are thus validated for our choices in this case.
- •
If , then there exist and such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime} and h\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h^{\prime}, and we know that . If on the one hand , then ; we choose and . If on the other hand , then ; we choose and , as well as , , and . In both cases, our choices validate the claim. ∎
The next deconstruction lemma concerns traces originating in a parallel composition. Intuitively, the syntactic PA either processes parallel components of the pomset, or processes according to one operand, provided that the other operand allows immediate acceptance.
Lemma \thelemma.
If e_{1}\parallel e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f, then there exist , such that
- •
,
- •
either , or and e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{1},
- •
either , or and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{2}, and
- •
either , or and there exist and such that and e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{1}}}}_{\Sigma}f_{1}^{\prime} and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{2}}}}_{\Sigma}f_{2}^{\prime}.
Proof.
The proof proceeds by induction on . In the base, . Now, choose and . We also choose . It is easy to validate that the claim holds for these choices.
For the inductive step, there are two cases to consider.
- •
If with and smaller than , then there exists a such that e_{1}\parallel e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g and g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f. By induction, we obtain such that:
- –
,
- –
either , or and e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g_{1},
- –
either , or and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g_{2}, and
- –
either , or and there exist and and such that and and and e_{1}^{\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V_{1}}}}_{\Sigma}g_{1}^{\prime} and e_{2}^{\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V_{2}}}}_{\Sigma}g_{2}^{\prime}.
By and Lemma 4.1, as well as g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f and Lemma 4.2, we obtain such that , and g_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f_{1}, g_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f_{2} and g_{3}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f_{3}. We now validate the remaining claims. First, note that if for all , then by Lemma 4.2. As to the remaining possibilities:
- –
If , then and by e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g_{1} and g_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f_{1} we conclude that e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{1}.
- –
If , then and by e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g_{2} and g_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f_{2} we conclude that e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{2}.
- –
If , then and we conclude that by Lemma 4.2.
- •
If with and smaller than , then there exist and such that , and g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime}\in F_{\Sigma} and h\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h^{\prime}\in F_{\Sigma}. We choose and . Furthermore, we set . It is now easy to see that . We validate the remaining claims.
- –
If , then . Otherwise, and e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}\gamma_{\Sigma}(e_{1},\{\mskip-4.0mu|g,h|\mskip-4.0mu\})=f_{1}.
- –
If , then . Otherwise, and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}\gamma_{\Sigma}(e_{2},\{\mskip-4.0mu|g,h|\mskip-4.0mu\})=f_{2}.
- –
If , then . Otherwise, assume (without loss of generality) that and . By Lemma 4.1 and the fact that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime} as well as h\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h^{\prime}, there exist such that e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f_{1}^{\prime} and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f_{2}^{\prime}, with and . By Lemma 4.1 and the fact that , it then follows that . Choosing and now validates the claim. ∎
Finally, we analyse the reachable states of an expression of the form . The intuition here is that, starting in , the PA can iterate traces originating in indefinitely. The trace should thus be sequentially decomposable, with each component the label of a trace originating in . Furthermore, all but the last target state of these traces should be accepting.
Lemma \thelemma.
If e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f, then there exists a finite set and an -indexed family of finite sets , as well as -indexed families over and over , and for all also -indexed families over and over , such that , and for all :
- •
e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}}}}_{\Sigma}f_{i},
- •
for all we have that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i,j}}}}_{\Sigma}f_{i,j}, and
- •
, where is some concatenation of all for all .
Proof.
The proof proceeds by induction on . In the base, , and so . We can choose , and to validate the claim.
For the inductive step, we consider two cases.
- •
If , with and smaller than , there exists a such that e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g and g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f. Since the remainder of this part of the proof is somewhat involved, we begin by outlining our strategy. First, we deconstruct the trace e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g, by induction. Then we deconstruct the trace g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f, making use of the fact that can be seen a sum of the form found in the claim, i.e., where each term is of the form , and thus (by Lemma 4.2) can be seen as a sum of terms such that g^{\prime}\cdot e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f^{\prime}. We then leverage Lemma 4.2 to deconstruct each of the latter traces. In the end, we have a big cache of variables, which we use to construct the families of terms and pomsets required by the claim. Since we will be dealing with a fair number of index sets, we tacitly assume (without loss of generality) that of them are disjoint.
As for the proof, consider the trace e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g. By induction, we obtain a finite set and an -indexed family of finite sets , as well as -indexed families over and over and for all also -indexed families over and over , such that , and for all :
- –
e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V_{i}}}}_{\Sigma}g_{i},
- –
for all we have that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V_{i,j}}}}_{\Sigma}g_{i,j}\in F_{\Sigma}, and
- –
, where is some concatenation of for all .
By the fact that and by Lemma 4.1, as well as g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f and Lemma 4.2, we find an -indexed family over such that , and for all also g_{i}\cdot e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h_{i}. Then, by Lemma 4.2, we find for all a term and finite set as well as -indexed families over and over and over and over , such that
- –
and g_{i}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h_{i}^{\prime}, and
- –
for all , g_{i}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{i}^{\prime}}\mkern-14.0mu\rightarrow}}_{\Sigma}h_{i,k}^{\prime}, e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{i}}}}_{\Sigma}h_{i,k} and .
By induction and since for all and we have that e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{i}}}}_{\Sigma}h_{i,k}, we obtain for this and a finite set and an -indexed family of finite sets , as well as -indexed families over and over , and for all also -indexed families over and over such that , and for all :
- –
e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{i,k,\ell}}}}_{\Sigma}h_{i,k,\ell},
- –
for all we have that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{i,k,\ell,m}}}}_{\Sigma}h_{i,k,\ell,m}, and
- –
, where is some concatenation of for .
We are now ready to choose the required (families of) sets, terms and pomsets, as follows:
- –
- –
for all , we set
[TABLE]
- –
for all and , we set
[TABLE]
It remains to check the requirements on our choices.
- –
One easily verifies that
[TABLE]
- –
If , there are two cases to consider.
If , then since e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V_{i}}}}_{\Sigma}g_{i} and g_{i}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h_{i}^{\prime}, we find that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}}}}_{\Sigma}f_{i}.
- *
If for some and , then since e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{i^{\prime},k,i}}}}_{\Sigma}h_{i^{\prime},k,i} we find that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}}}}_{\Sigma}f_{i}.
- –
If and , there are three cases to consider.
If and , then since e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V_{i,j}}}}_{\Sigma}g_{i,j}, we find that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i,j}}}}_{\Sigma}f_{i,j}.
- *
If for some and , and , then since e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V_{i^{\prime}}}}}_{\Sigma}g_{i} and g_{i}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{i^{\prime}}^{\prime}}\mkern-14.0mu\rightarrow}}_{\Sigma}h_{i^{\prime},k}^{\prime}, we find that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i,j}}}}_{\Sigma}f_{i,j}.
- *
If for some and , and (thus ), then since e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{i^{\prime},k,i,j}}}}_{\Sigma}h_{i^{\prime},k,i,j} we find that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i,j}}}}_{\Sigma}f_{i,j}.
- –
If , there are two cases to consider.
If , then , where is some concatenation of for all . But then we can choose as a concatenation of for all , to find that .
- *
If for all and , then we know that there exists a pomset which is a concatenation of for all , such that . We can then choose as a concatenation of with , and find that .
- •
If , then there exist and such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime} and h\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h^{\prime}, and . In this case, we choose , and and to find that the claims are validated. ∎
4.3 Trace construction
In the above, we learned how to deconstruct traces in the syntactic PA. To verify that the state in the syntactic PA associated with a series-rational expression indeed accepts the series-rational pomset language \left\ldbrack e\right\rdbrack, we also need to show the converse, that is, how to construct traces in the syntactic PA from smaller traces. In this context it is often useful to work with the preorder obtained from .
Definition \thedefinition.
The relation is defined by if and only if .
The intuition to is that consists of one or more terms that also appear in , up to .
In analogy to Lemma 4.1, we show that is a “simulation” with respect to traces.
Lemma \thelemma.
Let be such that . If e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}e^{\prime}, then there exists an such that f\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime} and . Furthermore, if , then .
Proof.
We prove the first claim by induction on . In the base, and . Note that by Lemma 4.1. We choose to find that f\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime} with .
For the inductive step, there are two cases to consider.
- •
If with and smaller than , then there exists an such that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}e^{\prime\prime} and e^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}e^{\prime}. By induction, we find an such that f\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f^{\prime\prime} and , and again by induction we find an such that f^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f^{\prime} with . In total, we know that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with .
- •
If with and smaller than , then there exist and such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime} and h\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h^{\prime} and . Note that by Lemma 4.1. We choose to find that f\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime} with .
For the second claim, suppose that , then also . But then by Lemma 4.1. ∎
The following lemma tells us that we can create a trace labelled with the concatenation of the labels of two smaller traces, and starting in the sequential composition of the original starting states, provided that the first trace ends in an accepting state. Furthermore, the target state of the newly constructed trace contains the target state of the second trace. We also prove two auxiliary claims towards this end, which will be useful later on.
Lemma \thelemma.
Let and be such that e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{1} and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f_{2}. The following hold:
- •
There exists an such that e_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with .
- •
If , then there exists an such that f_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f with .
- •
If , then there exists an such that e_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U\cdot V}}}_{\Sigma}f with .
Proof.
The proof of the first claim proceeds by induction on . In the base, and . We choose . It is now easy to show that e_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with .
For the inductive step, there are two cases to consider.
- •
If with and smaller than , there exists a such that e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}g_{1} and g_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{X}}}_{\Sigma}f_{1}. By induction, we obtain such that e_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}g with . Again by induction, we find such that g_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{X}}}_{\Sigma}h with . By Lemma 4.3, we then know that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f for some with . In total, we find that e_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with (by transitivity of ).
- •
If with and smaller than , there exist and such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}g^{\prime} and h\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{X}}}_{\Sigma}h^{\prime}, and . We choose . It is now easy to show that e_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with .
The proof of the second claim proceeds by induction on . In the base, and . We can then choose . It is now easy to show that f_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f with .
For the inductive step, there are two cases to consider.
- •
If with and smaller than , there exists a such that e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}g_{2} and g_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{X}}}_{\Sigma}f_{2}. By induction, there exists a such that f_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}g with . By Lemma 4.3, we find such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{X}}}_{\Sigma}f with , and thus f_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f.
- •
If with and smaller than , there exist and such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}g^{\prime} and h\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{X}}}_{\Sigma}h^{\prime} and . We can then choose . It is now easy to show that f_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f with .
The third claim is a direct consequence of the first two claims and Lemma 4.3. ∎
We can also construct traces that start in a parallel composition. One way is to construct traces that start in each operand and reach an accepting state; we obtain a trace in their parallel composition almost trivially. If one of the operands is accepting, we can also construct a single trace that starts in the other operand and obtain a trace with the same label starting in the parallel construction. In both cases, we describe the target of the new trace using .
Lemma \thelemma.
Let . The following hold:
- •
If and are such that e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{1} and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f_{2}, then there exists an such that e_{1}\parallel e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U\parallel V}}}_{\Sigma}f with .
- •
If (respectively ), and and are such that e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime} (respectively e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime}), then there exists an such that e_{1}\parallel e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with .
Proof.
For the first claim, choose . We then immediately find that e_{1}\parallel e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U\parallel V}}}_{\Sigma}f with .
For the second claim, the proof proceeds by induction on . In the base, and . Choose . It is then easy to see that e_{1}\parallel e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with .
In the inductive step, there are two cases to consider.
- •
If with and smaller than , there exists a such that e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g_{1} and g_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f_{1}. By induction, we find such that e_{1}\parallel e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g with . By Lemma 4.3, we find such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f and . In total, we have that e_{1}\parallel e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with .
- •
If with and smaller than , there exist and such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime} and h\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h^{\prime}, and . We choose . It is now easy to see that e_{1}\parallel e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with . ∎
Lastly, we present a trace construction lemma to obtain traces originating in expressions of the form . The idea here is that, given a finite number of traces that originate in , where all (but possibly one) have an accepting state as their target, we can construct a trace originating in , with a concatenation of the labels of the input traces as its label.
Lemma \thelemma.
Let (with ) be such that . Also, let be such that . If for all it holds that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}}}}_{\Sigma}f_{i}, then there exists an such that e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f, with .
Proof.
First, we show that the claim holds for , i.e., if and are such that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{1}, then there exists an such that e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f, with . The proof proceeds by induction on . In the base, and . We choose to find that e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with .
For the inductive step, there are two cases to consider.
- •
If with and smaller than , there exists a such that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g_{1} and g_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f_{1}. By induction, we find such that e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g with . By Lemma 4.3, we find such that g_{1}\cdot e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h, with . By Lemma 4.3, we find such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f with . In total, we have that e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with .
- •
If with and smaller than , there exist and such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime}, and h\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h^{\prime}, and . In this case, we choose to find that e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with .
We now inductively extend the claim to all , using the proof above as our base. In the inductive step, we assume the claim holds for , and try to prove it for . Let . By induction, we obtain such that e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U^{\prime}}}}_{\Sigma}g with . Furthermore, by the previous observation, we find such that e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{n}}}}_{\Sigma}h with . By Lemma 4.3 and the fact that , we find such that f_{n-1}\cdot e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{n}}}}_{\Sigma}d with . By the fact that and f_{n-1}\cdot e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{n}}}}_{\Sigma}d, we find such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{n}}}}_{\Sigma}f with . In total, we have that e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with . ∎
4.4 Soundness for the syntactic PA
With trace deconstruction and construction lemmas in our toolbox, we are ready to show that the syntactic PA indeed captures series-rational languages.
First, note that can be seen as a function from to , like \left\ldbrack-\right\rdbrack. To establish equality between and \left\ldbrack-\right\rdbrack, we first show that enjoys the same homomorphic equalities as those in the definition of the semantic map, i.e., that can be expressed in terms of applied to subexpressions of . The proofs of the equalities below follow a similar pattern: for the inclusion from left to right we use trace deconstruction lemmas to obtain traces for the component expressions, while for the inclusion from right to left we use trace construction lemmas to build traces for the composed expressions given the traces of the component expressions. We treat the case for the empty pomset separately almost everywhere.
Lemma \thelemma.
Let , and . The following equalities hold:
[TABLE]
Proof.
For (1), suppose that . Then there exists an such that 0\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}\mkern-14.0mu\rightarrow}}_{\Sigma}f. Since , we know that , and so 0\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f must hold. But then, by Lemma 4.2 we know that , which is a contradiction. We conclude that .
For (2), suppose that . Then there exists an such that 1\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}\mkern-14.0mu\rightarrow}}_{\Sigma}f. Then either and , or and 1\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f. The former case is possible (since ), but in the latter case we find that by Lemma 4.2, and so — a contradiction. In conclusion, we find that , and thus . The other inclusion is easy: simply observe that 1\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{1}\mkern-14.0mu\rightarrow}}_{\Sigma}1 by definition of , implying that .
For (3), suppose that . Then there exists an such that a\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}\mkern-14.0mu\rightarrow}}_{\Sigma}f. Then either and , or and a\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f. We can rule out the former case, as it implies that — a contradiction. In the latter case, we find by Lemma 4.2 that either and , or . Since the latter again contradicts that , we find that ; we thus conclude that . The other inclusion is easy: simply observe that a\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{a}}}_{\Sigma}1 by definition of , and thus a\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{a}\mkern-14.0mu\rightarrow}}_{\Sigma}1, implying that .
For (4), suppose that . Then there exists an such that e_{1}+e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}\mkern-14.0mu\rightarrow}}_{\Sigma}f. If and , then either or . In either case, it follows quite easily that . Otherwise, e_{1}+e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f. But then, by Lemma 4.2, we know that , such that e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{1} and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{2}. Since , either or , and therefore or ; either way, .
To prove the other inclusion, suppose that . If , then there exists an such that e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}\mkern-14.0mu\rightarrow}}_{\Sigma}f_{1}. If and , then and therefore ; it follows that . Otherwise, e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{1}, and so by Lemma 4.3 and the fact that we find such that e_{1}+e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with . By Lemma 4.3, , and so it follows that . The case where is similar.
For (5), suppose that . Then there exists an such that e_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}\mkern-14.0mu\rightarrow}}_{\Sigma}f. If and , then , and thus . Therefore and , implying that . Otherwise, e_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f. Then, by Lemma 4.2, there exists an and a finite set , as well as -indexed families over and over and over and over , such that:
- •
, e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime}
- •
for all , e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}^{\prime}}}}_{\Sigma}f_{i}^{\prime}, e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}}}}_{\Sigma}f_{i} and .
Since , also by Lemma 4.1. This means that either , or for some . In the former case, , and therefore and , thus . In the latter case, and , thus .
To prove the other inclusion, suppose that . Then , with and . There are four cases to consider.
- •
If and , then , and therefore . Thus .
- •
If and , then and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{2}}}}_{\Sigma}f_{2} for some . Then, by Lemma 4.3, e_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{2}}}}_{\Sigma}f for some with . By Lemma 4.3, , and thus .
- •
If and , then e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{1}}}}_{\Sigma}f_{1} for some , and . Then, by Lemma 4.3, e_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{1}}}}_{\Sigma}f for some with . Since , also , and thus by Lemma 4.3, . Therefore .
- •
If and , then e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{1}}}}_{\Sigma}f_{1} and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{2}}}}_{\Sigma}f_{2} for some . Then, by Lemma 4.3, we find that e_{1}\cdot e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with . By Lemma 4.3, , and thus .
For (6), suppose that . Then there exists an such that e_{1}\parallel e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}\mkern-14.0mu\rightarrow}}_{\Sigma}f. If and , then , and thus and . But then . Otherwise, e_{1}\parallel e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f for some . By Lemma 4.2, we obtain such that
- •
- •
either , or and e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{1}
- •
either , or and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{2}
- •
either , or and there exist and and such that and and and e_{1}^{\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{1}}}}_{\Sigma}f_{1}^{\prime} and e_{2}^{\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{2}}}}_{\Sigma}f_{2}^{\prime}.
By Lemma 4.3, , and thus or or . In the first case, and , and therefore . In the second case, we similarly find that . In the last case, we find by Lemma 4.1 and Lemma 4.1 such that e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{1}^{\prime\prime} and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f_{2}^{\prime\prime}, and thus we have that such that and , therefore .
To prove the other inclusion, suppose that . Then . There are four cases to consider.
- •
If and , then , thus . But then .
- •
If and , then e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{2}}}}_{\Sigma}f_{2} for some . By Lemma 4.3, we find an such that e_{1}\parallel e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with . But then, by Lemma 4.3, , and thus .
- •
If and , then we find that by an argument similar to the above case.
- •
If and , then e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{1}}}}_{\Sigma}f_{1} and e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{2}}}}_{\Sigma}f_{2} for some . By Lemma 4.3, we find an such that e_{1}\parallel e_{2}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with . But then, by Lemma 4.3, , and thus .
For (7), suppose that . Then there exists an such that e_{1}^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}\mkern-14.0mu\rightarrow}}_{\Sigma}f. If and , then . Otherwise, e_{1}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f. By Lemma 4.2, we find a finite set and an -indexed family of finite sets as well as -indexed families over and over , and for all also -indexed families over and over , such that , and for all
- •
e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}}}}_{\Sigma}f_{i}
- •
for all we have that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i,j}}}}_{\Sigma}f_{i,j}
- •
, where is some concatenation of all for all .
By Lemma 4.3, we know that , and thus for some , meaning in particular that for this . Now for all , and thus . Since also , we find that .
To prove the other inclusion, suppose that . Then , i.e., , such that for all we have . Assume (without loss of generality) that for all . If , then and we find that immediately. Otherwise, there exist such that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{i}}}}_{\Sigma}f_{i}. By Lemma 4.3 we find such that e^{*}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f with . But then by Lemma 4.3, and thus . ∎
It is now easy to establish that the Brzozowski construction for the syntactic PA is sound with respect to the denotational semantics of series-rational expressions.
Theorem 4.1**.**
Let . Then L_{\Sigma}(e)=\left\ldbrack e\right\rdbrack.
Proof.
The proof proceeds by induction on . In the base, , or for some . In all cases, L_{\Sigma}(e)=\left\ldbrack e\right\rdbrack by Lemma 4.4. For the inductive step, there are four cases to consider: either , , or . In all cases, the claim follows from the induction hypothesis and the definition of \left\ldbrack-\right\rdbrack, combined with Lemma 4.4. ∎
4.5 Bounding the syntactic PA
Ideally, we would like to obtain a single PA with finitely many states that recognizes \left\ldbrack e\right\rdbrack for a given . Unfortunately, the syntactic PA is not bounded, and thus Theorem 3.1 does not apply. For instance, the requirement that be finite for fails; consider the family of distinct terms defined by and for ; it is not hard to show that for , and thus conclude that is infinite. We remedy this problem by quotienting the state space of the syntactic PA by congruence.
In what follows, we write for the congruence class of modulo , i.e., the set of all such that . We furthermore write for the set of all congruence classes of expressions in . We now leverage Lemma 4.1 to define a transition structure on .
Definition \thedefinition.
We define and as {mathpar} δ_≃([e], a) = [δΣ(e, a)] γ≃([e], {|[f], [g]|}) = {[0] f ≃0 or g ≃0[γΣ(e, {|g, h|})] otherwise
Furthermore, the set is defined to be . The quotiented syntactic PA is the PA .
Note that, by virtue of Lemma 4.1 and Lemma 4.1, we have that and , as well as , are well-defined. As before, we abbreviate subscripts, for example by writing rather than , and rather than . Of course, we also want the quotiented syntactic PA to accept the same languages as the syntactic PA. To that end, we show that the trace relations of the syntactic PA and the quotiented syntactic PA correspond.
Lemma \thelemma.
Let and . If e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f, then [e]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\simeq}[f]. If [e]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\simeq}[f], then there exists an with and e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime}.
Proof.
Refer to Appendix A. ∎
Theorem 4.2**.**
Let . Then .
Proof.
By definition, if and only if . It then follows that if and only if . The remaining cases are covered by Lemma 4.5. ∎
Corollary \thecorollary.
The state is the only state in the quotiented syntactic PA with an empty language.
Proof.
Let be a state such that . Then, by Theorem 4.2, we know that , and by Theorem 4.1, \left\ldbrack e\right\rdbrack=\emptyset. But then by Lemma 2.4, and thus . ∎
We now show that the quotiented syntactic PA is bounded. First, we need the following.
Definition \thedefinition.
Let . The parallel depth of , denoted , is [math] when , and otherwise: {mathpar} 0pt1 = 0 0pta = 1 0pte_1 + e_2 = max(0pte_1, 0pte_2)
0pte_1 ⋅e_2 = max(0pte_1, 0pte_2)0pte_1 ∥e_2 = max(0pte_1, 0pte_2) + 10pte_1^* = 0pte_1
It is easy to show that the parallel depth of an expression is also well-defined on the congruence classes of . This allows us to define a fork hierarchy on .
Lemma \thelemma.
Let be such that . Then .
Proof.
Refer to Appendix A. ∎
Definition \thedefinition.
The relation is such that if and only if .
Lemma \thelemma.
The quotiented syntactic PA is fork-acyclic, with fork hierarchy .
Proof.
We need to show that satisfies the conditions of Definition 3.
For the first rule, we begin by showing that if such that and , then . The proof proceeds by induction on . In the base, or ; in both cases, and so the claim holds vacuously. For the inductive step, there are four cases to consider.
- •
If , then , thus or . Therefore, by induction or , and thus .
- •
If , then , thus or . Therefore, by induction or , and thus .
- •
If , then . If , we know that . Assume without loss of generality that ; then . If , then by induction . The case where is similar.
- •
If , then and therefore . But then by induction.
To fully validate the first rule, suppose that . Then and and thus . But then we find that by the above, and therefore .
For the second rule, we first show that if and , then . If , then . The proof of the remaining cases proceeds by induction on . In the base, or . In both cases, .
For the inductive step, there are four cases to consider.
- •
If , then we can derive
[TABLE]
- •
If , then we can derive
[TABLE]
- •
If , then we can derive
[TABLE]
- •
If , then we can derive
[TABLE]
Thus, suppose that . Then , since we can derive that .
For the third rule, one also first shows that for and we have that . One can then extend this to show that if , also using the same technique as above. ∎
Finally, we investigate the reach and support of a state in the quotiented syntactic PA, using the deconstruction lemmas showed in Section 4.2, as well as Lemma 4.5.
Lemma \thelemma.
Let . Then and are finite.
Proof.
We first claim that is finite up to , i.e., that the set is finite. The proof of this claim proceeds by induction on . In the base, there are three cases to consider.
- •
If and e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f, then by Lemma 4.2; it follows that is finite.
- •
If and e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f, then by Lemma 4.2; it follows that is finite.
- •
If for some , then or by Lemma 4.2. It follows that is finite.
In all cases, we find that is finite, and therefore finite up to .
For the inductive step, there are four cases to consider. In each case our strategy is to write an arbitrary element of into a sum of a number of terms. If we can then show that there are only finitely many choices for each term up to , it follows that there are only finitely many such sums up to . Note that the number of terms does not matter, since repeated terms in a sum do not make a difference with respect to by virtue of the idempotence rule.
- •
If and , then by Lemma 4.2 there exist and such that . Since and are finite up to by induction, it follows that is finite up to .
- •
If and , then by Lemma 4.2 there exists an and a finite set and an -indexed set of terms such that . Since and are finite up to by induction, it follows that is finite up to .
- •
If and , then by Lemma 4.2 there exist , and such that . Since and are finite up to by induction, it follows that is finite up to .
- •
If and , then by Lemma 4.2 there exists a finite set and an -indexed family over such that . Since is finite up to by induction, it follows that is finite up to .
Since by Lemma 3 and Corollary 4.5, it suffices to show that is finite. This is an immediate consequence of Lemma 4.5 and the above.
We now treat the claim about . First, we claim that there are finitely many up to such that . This is shown by induction on . In the base, , or ; in all cases, we find that for . For the inductive step, there are four cases; in each case, we apply Lemma 4.4.
- •
Suppose . By induction, there are finitely many up to such that or . Thus, there are finitely many up to such that .
- •
Suppose . By induction, there are finitely many up to such that or . Thus, there are finitely many up to such that .
- •
Suppose . By induction, there are finitely many up to such that or . Furthermore, there is exactly one up to such that . Thus, there are finitely many up to such that .
- •
Suppose . By induction, there are finitely many up to such that . Thus, there are finitely many up to such that .
The proof that that is finite, i.e., that there are finitely many such that is now an immediate consequence of the above. ∎
Theorem 4.3**.**
The quotiented syntactic PA is bounded.
Proof.
By Lemma 4.5, we know that is fork-acyclic. Furthermore, is well-founded by construction: every term has finite depth. By Lemma 4.5, we know that and are finite for all . All requirements are now validated. ∎
The desired result then follows from the above, Lemma 3 and Theorem 3.1.
Corollary \thecorollary.
Let . There exists a finite PA that accepts \left\ldbrack e\right\rdbrack.
Proof.
Consider the quotiented syntactic PA . By Theorem 4.2 and Theorem 4.1, we know that L_{\simeq}([e])=L_{\Sigma}(e)=\left\ldbrack e\right\rdbrack. By Theorem 4.3, is bounded, and therefore (by Theorem 3.1) we can construct a finite and closed set such that . We now choose and to find that L_{A_{e}}(q)=L_{\simeq}([e])=\left\ldbrack e\right\rdbrack by Lemma 3. ∎
5 Automata to expressions
To associate with every state in a bounded PA a series-rational expression such that \left\ldbrack e_{q}\right\rdbrack=L_{A}(q), we modify the procedure for associating a rational expression with a state in a finite automaton described in [11]. The modification consists of adding parallel terms to the expression associated with whenever a fork in contributes to its language, i.e., whenever .
In view of the special treatment of in the semantics of PAs, it is convenient to first define expressions with the property that \left\ldbrack e_{q}^{+}\right\rdbrack=L_{A}(q)-\{1\}; then we can define by . The definition of proceeds by induction on the well-founded partial order associated with a bounded PA. That is, when defining we assume the existence of expressions for all such that .
First, however, we shall define auxiliary expressions for suitable choices of and of . Intuitively, denotes the pomset language characterizing all paths from to with all intermediate states in ; can then be defined as the summation of all with .
Definition \thedefinition.
Let be a finite subset of , and assume that for all such that for some there exists a series-rational expression such that \left\ldbrack e_{r}^{+}\right\rdbrack=L_{A}(q)-\{1\}. For all and , we define a series-rational expression by induction on the size of , as follows:
If , then let , and let . We define
[TABLE] 2. 2.
Otherwise, we choose a and define
[TABLE]
Note that and , appearing in the first clause of the definition of , exist by assumption, for by fork-acyclicity we have that .
Theorem 5.1**.**
Let be a finite subset of and assume that for all such that for some there exists a series-rational expression with \left\ldbrack e_{r}^{+}\right\rdbrack=L_{A}(q)-\{1\}. For all , for all , and for all , we have that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q^{\prime} according to some path that only visits states in if, and only if, U\in\left\ldbrack e^{Q^{\prime\prime}}_{qq^{\prime}}\right\rdbrack.
Proof.
We prove the implication from left to right with induction on the size of .
Suppose that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q^{\prime} according to some path through that only visits states in . Then there exist , , and such that and
[TABLE]
Furthermore, for all , either for some and , or for some and there are and such that r_{i}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V_{i}}}}r_{i}^{\prime}, s_{i}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{i}}}}s_{i}^{\prime} and . We distinguish cases according to whether or .
- •
If , then we distinguish cases according to whether or . In the first case, we have that , so U=U_{1}=a\in\left\ldbrack e^{\emptyset}_{qq^{\prime}}\right\rdbrack\subseteq\left\ldbrack e^{Q^{\prime\prime}}_{qq^{\prime}}\right\rdbrack. In the second case, we have that there exist and such that , r\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V_{1}}}}r^{\prime} and s\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W_{1}}}}s^{\prime}. Hence and . Furthermore, by fork-acyclicity we have that , so there exist series-rational expressions such that \left\ldbrack e_{r}^{+}\right\rdbrack=L_{A}(r)-\{1\} and \left\ldbrack e_{s}^{+}\right\rdbrack=L_{A}(s)-\{1\}. It follows that V_{1}\in\left\ldbrack e_{r}^{+}\right\rdbrack and W_{1}\in\left\ldbrack e_{s}^{+}\right\rdbrack, and hence V_{1}\parallel W_{1}\in\left\ldbrack e_{r}^{+}\parallel e_{s}^{+}\right\rdbrack. We conclude that U=U_{1}=V_{1}\parallel W_{1}\in\left\ldbrack e^{\emptyset}_{qq^{\prime}}\right\rdbrack\subseteq\left\ldbrack e^{Q^{\prime\prime}}_{qq^{\prime}}\right\rdbrack.
- •
If . Then, clearly, is non-empty; let . Furthermore, let . If , then by the induction hypothesis we have that U\in\left\ldbrack e^{Q^{\prime\prime}-\{q^{\prime\prime}\}}_{qq^{\prime}}\right\rdbrack\subseteq\left\ldbrack e^{Q^{\prime\prime}}_{qq^{\prime}}\right\rdbrack.
Otherwise, suppose that , say with . Then, by the induction hypothesis, U_{i_{j}+1}\cdots U_{i_{j+1}}\in\left\ldbrack e^{Q^{\prime\prime}-\{q^{\prime\prime}\}}_{q^{\prime\prime}q^{\prime\prime}}\right\rdbrack for all . Moreover, also by the induction hypothesis, U_{0}\cdots U_{i_{1}}\in\left\ldbrack e^{Q^{\prime\prime}-\{q^{\prime\prime}\}}_{qq^{\prime\prime}}\right\rdbrack and U_{i_{k}+1}\cdots U_{n}\in\left\ldbrack e^{Q^{\prime\prime}-\{q^{\prime\prime}\}}_{q^{\prime\prime}q^{\prime}}\right\rdbrack. Hence,
[TABLE]
We prove the implication from right to left also with induction on the size of . Suppose that U\in\left\ldbrack e^{Q^{\prime\prime}}_{qq^{\prime}}\right\rdbrack. If , then, considering the structure of , there are two cases:
- •
If for some such that , then, clearly, q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}q^{\prime}.
- •
If there exist and such that , , , V\in\left\ldbrack e_{r}^{+}\right\rdbrack, and W\in\left\ldbrack e_{s}^{+}\right\rdbrack, then (by the premise) there exist such that r\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}r^{\prime} and s\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}s^{\prime}. Hence, q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}q^{\prime}.
Otherwise, suppose that is non-empty, and let . Then, again considering the structure of , there are two cases:
- •
If U\in\left\ldbrack e^{Q^{\prime\prime}-\{q^{\prime\prime}\}}_{qq^{\prime}}\right\rdbrack, then by the induction hypothesis q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}q^{\prime}.
- •
If U\in\left\ldbrack e^{Q^{\prime\prime}-\{q^{\prime\prime}\}}_{qq^{\prime\prime}}\cdot{(e^{Q^{\prime\prime}-\{q^{\prime\prime}\}}_{q^{\prime\prime}q^{\prime\prime}})}^{*}\cdot e^{Q^{\prime\prime}-\{q^{\prime\prime}\}}_{q^{\prime\prime}q^{\prime}}\right\rdbrack, then there exist , () and such that , U^{\prime}\in\left\ldbrack e^{Q^{\prime\prime}-\{q^{\prime\prime}\}}_{qq^{\prime\prime}}\right\rdbrack, U_{i}\in\left\ldbrack e^{Q^{\prime\prime}-\{q^{\prime\prime}\}}_{q^{\prime\prime}q^{\prime\prime}}\right\rdbrack for all , and U^{\prime\prime}\in\left\ldbrack e^{Q^{\prime\prime}-\{q^{\prime\prime}\}}_{q^{\prime\prime}q^{\prime}}\right\rdbrack. By the induction hypothesis, it follows that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U^{\prime}}}}q^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{1}}}}\cdots\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U_{n}}}}q^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U^{\prime\prime}}}}q^{\prime}, according to a series of paths that only visit states in , with the intermediate states of these paths all . We thus conclude that q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}q^{\prime} according to some path that only visits states in . ∎
Using the auxiliary expressions , we can now associate series-rational expressions with every , defining by and . Note that and, by Lemma 3, for all such that for some we have , and hence there exists, by induction, a series-rational expression such that \left\ldbrack e_{q^{\prime}}\right\rdbrack=L_{A}(q^{\prime}). So the expressions are, indeed, defined in Definition 5.
Corollary \thecorollary.
For every state we have \left\ldbrack e_{q}^{+}\right\rdbrack=L_{A}(q)-\{1\} and \left\ldbrack e_{q}\right\rdbrack=L_{A}(q).
6 Discussion
Another automaton formalism for pomsets, branching automata, was proposed by Lodaya and Weil [14, 15]. Branching automata define the states where parallelism can start (fork) or end (join) in two relations; pomset automata condense this information in a single function. Lodaya and Weil also provided a translation of series-parallel expressions to branching automata, based on Thompson’s construction [18], which relies on the fact that their automata encode transitions non-deterministically, i.e., as relations. Our Brzozowski-style [3] translation, in contrast, directly constructs transition functions from the expressions. Lastly, their translation of branching automata to series-parallel expressions is only sound for a semantically restricted class of automata, whereas our restriction is syntactic.
Jipsen and Moshier [8] provided an alternative formulation of the automata proposed by Lodaya and Weil, also called branching automata. Their method to encode parallelism in these branching automata is conceptually dual to pomset automata: branching automata distinguish based on the target states of traces to determine the join state, whereas pomset automata distinguish based on the origin states of traces. The translations of series-parallel expressions to branching automata and vice versa suffer from the same shortcomings as those by Lodaya and Weil, i.e., transition relations rather than functions and a semantic restriction on automata for the translation of automata to expressions.
Lodaya and Weil observed [15] that the behaviour of their automata corresponds to -safe Petri nets. Since the behavior of their branching automata can be matched with our (bounded, fork-acyclic) pomset automata, we believe that -safe Petri nets also correspond to our automata. We opted to treat semantics of series-rational expressions in terms of automata instead of Petri nets to find more opportunities to extend to a coalgebraic treatment. While the present paper does not reach this goal, we believe that our formulation in terms of states and transition functions offers some hope of getting there.
Prisacariu introduced Synchronous Kleene Algebra (SKA) [16], extending Kleene Algebra with a synchronous composition operator. SKA differs from our model in that it assumes that all basic actions are performed in unit time, and that actors responsible for individual actions never idle. In contrast, our (weak BKA-like) model makes no synchrony assumptions: expressions can be composed in parallel, and the relative timing of basic actions within those expressions is irrelevant for the semantics. Prisacariu axiomatized SKA and extended it to Synchronous Kleene Algebra with Tests (SKAT); others [2] proposed Brzozowski-style derivatives of SKA expressions and used them to test equivalence of SKA and SKAT terms.
7 Further work
We plan to extend our results to semantics of series-parallel expressions in terms of downward-closed pomset languages, i.e., sets of pomsets that are closed under Gischer’s subsumption order [4]. Such an extension would correspond to adding the weak exchange law (which relates sequential and parallel compositions), and thus yields an operational model for weak CKA. We conjecture that no change to the automaton model is necessary to accommodate this generalization, just like Struth and Laurence suspect that the downward-closed semantics of series-parallel expressions can be captured by their non-downward closed semantics.
Our series-rational expressions do not include the parallel analogue of the Kleene star (sometimes called “parallel star”, or “replication”). Future work could look into extending derivatives to include this operator, and relaxing fork-acyclicity to allow recovering expressions that include the parallel star from an automaton that satisfies this weaker restriction.
A classic result by Kozen [10] axiomatizes language equivalence of rational expressions using Kleene’s theorem [9] and the uniqueness of minimal finite automata; consequently, the free model for KA can also be characterized in terms of rational languages. It would be interesting to see if the same technique can be used (based on pomset automata) to show that the axioms of weak Bi-Kleene Algebra are a complete axiomatization of pomset language equivalence of series-rational expressions, and thus characterise the free weak Bi-Kleene Algebra (or even the free weak CKA) in terms of series-rational pomset languages. Although an such a result was recently published [13], it does not rely on an automaton model.
Brzozowski derivatives for classic rational expressions induce a coalgebra on rational expressions that corresponds to a finite automaton. We aim to study series-rational expressions coalgebraically. The first step would be to find the coalgebraic analogue of pomset automata such that language acceptance is characterized by the homomorphism into the final coalgebra. Ideally, such a view of pomset automata would give rise to a decision procedure for equivalence of series-rational expressions based on coalgebraic bisimulation-up-to [17].
Rational expressions can be extended with tests to reason about imperative programs equationally [12]. In the same vein, one can extend series-rational expressions with tests [7, 8] to reason about parallel imperative programs equationally. We are particularly interested in employing such an extension to extend the network specification language NetKAT [1] with primitives for concurrency so as to model and reason about concurrency within networks.
Appendix A Proofs of auxiliary lemmas
See 2.4
Proof.
The proof of the first claim proceeds by induction on the construction of . In the base, there are nine cases to consider.
- •
If , then the claim follows immediately.
- •
If , then \left\ldbrack e\right\rdbrack=\left\ldbrack f\right\rdbrack\cup\left\ldbrack 0\right\rdbrack=\left\ldbrack f\right\rdbrack\cup\emptyset=\left\ldbrack f\right\rdbrack.
- •
If , then \left\ldbrack e\right\rdbrack=\left\ldbrack f\right\rdbrack\cup\left\ldbrack f\right\rdbrack=\left\ldbrack f\right\rdbrack.
- •
If and , then \left\ldbrack e\right\rdbrack=\left\ldbrack g_{1}\right\rdbrack\cup\left\ldbrack g_{2}\right\rdbrack=\left\ldbrack g_{2}\right\rdbrack\cup\left\ldbrack g_{1}\right\rdbrack=\left\ldbrack f\right\rdbrack.
- •
If and , then \left\ldbrack e\right\rdbrack=\left\ldbrack g_{1}\right\rdbrack\cup(\left\ldbrack g_{2}\right\rdbrack\cup\left\ldbrack g_{3}\right\rdbrack)=(\left\ldbrack g_{1}\right\rdbrack\cup\left\ldbrack g_{2}\right\rdbrack)\cup\left\ldbrack g_{3}\right\rdbrack=\left\ldbrack f\right\rdbrack.
- •
If and , then \left\ldbrack e\right\rdbrack=\left\ldbrack 0\right\rdbrack\cdot\left\ldbrack e_{1}\right\rdbrack=\emptyset=\left\ldbrack f\right\rdbrack.
- •
If and , then \left\ldbrack e\right\rdbrack=\left\ldbrack e_{1}\right\rdbrack\cdot\left\ldbrack 0\right\rdbrack=\emptyset=\left\ldbrack f\right\rdbrack.
- •
If and , then \left\ldbrack e\right\rdbrack=\left\ldbrack 0\right\rdbrack\parallel\left\ldbrack e_{1}\right\rdbrack=\emptyset=\left\ldbrack f\right\rdbrack.
- •
If and , then \left\ldbrack e\right\rdbrack=\left\ldbrack e_{1}\right\rdbrack\parallel\left\ldbrack 0\right\rdbrack=\emptyset=\left\ldbrack f\right\rdbrack.
For the inductive step, there are six cases to consider.
- •
If because and , then \left\ldbrack e\right\rdbrack=\left\ldbrack g\right\rdbrack and \left\ldbrack g\right\rdbrack=\left\ldbrack f\right\rdbrack by induction, thus \left\ldbrack e\right\rdbrack=\left\ldbrack f\right\rdbrack.
- •
If because , then \left\ldbrack f\right\rdbrack=\left\ldbrack e\right\rdbrack by induction, and thus \left\ldbrack e\right\rdbrack=\left\ldbrack f\right\rdbrack.
- •
If because and with and , then we know that \left\ldbrack e_{1}\right\rdbrack=\left\ldbrack f_{1}\right\rdbrack and \left\ldbrack e_{2}\right\rdbrack=\left\ldbrack f_{2}\right\rdbrack by induction. But then \left\ldbrack e\right\rdbrack=\left\ldbrack e_{1}\right\rdbrack\cup\left\ldbrack e_{2}\right\rdbrack=\left\ldbrack f_{1}\right\rdbrack\cup\left\ldbrack f_{2}\right\rdbrack=\left\ldbrack f\right\rdbrack.
- •
If because and with and , then we know that \left\ldbrack e_{1}\right\rdbrack=\left\ldbrack f_{1}\right\rdbrack and \left\ldbrack e_{2}\right\rdbrack=\left\ldbrack f_{2}\right\rdbrack by induction. But then \left\ldbrack e\right\rdbrack=\left\ldbrack e_{1}\right\rdbrack\cdot\left\ldbrack e_{2}\right\rdbrack=\left\ldbrack f_{1}\right\rdbrack\cdot\left\ldbrack f_{2}\right\rdbrack=\left\ldbrack f\right\rdbrack.
- •
If because and with and , then we know that \left\ldbrack e_{1}\right\rdbrack=\left\ldbrack f_{1}\right\rdbrack and \left\ldbrack e_{2}\right\rdbrack=\left\ldbrack f_{2}\right\rdbrack by induction. But then \left\ldbrack e\right\rdbrack=\left\ldbrack e_{1}\right\rdbrack\parallel\left\ldbrack e_{2}\right\rdbrack=\left\ldbrack f_{1}\right\rdbrack\parallel\left\ldbrack f_{2}\right\rdbrack=\left\ldbrack f\right\rdbrack.
- •
If because and with , then we know that \left\ldbrack e_{1}\right\rdbrack=\left\ldbrack f_{1}\right\rdbrack by induction. But then \left\ldbrack e\right\rdbrack=\left\ldbrack e_{1}\right\rdbrack^{*}=\left\ldbrack f_{1}\right\rdbrack^{*}=\left\ldbrack f\right\rdbrack.
We now prove the second claim. For the direction from left to right, note that \left\ldbrack e\right\rdbrack=\left\ldbrack 0\right\rdbrack=\emptyset by Lemma 2.4. The direction from right to left proceeds by induction on . In the base, and thus by reflexivity. For the inductive step, there are three cases to consider.
- •
If , then \left\ldbrack e\right\rdbrack=\left\ldbrack e_{1}\right\rdbrack\cup\left\ldbrack e_{2}\right\rdbrack=\emptyset, therefore \left\ldbrack e_{1}\right\rdbrack=\emptyset and \left\ldbrack e_{2}\right\rdbrack=\emptyset. But then, by induction, we have that and . We then know that .
- •
If , then \left\ldbrack e\right\rdbrack=\left\ldbrack e_{1}\right\rdbrack\cdot\left\ldbrack e_{2}\right\rdbrack=\emptyset, therefore \left\ldbrack e_{1}\right\rdbrack=\emptyset or \left\ldbrack e_{2}\right\rdbrack=\emptyset. But then, by induction, we have that or . In either case, it follows that .
- •
If , then \left\ldbrack e\right\rdbrack=\left\ldbrack e_{1}\right\rdbrack\parallel\left\ldbrack e_{2}\right\rdbrack=\emptyset, therefore \left\ldbrack e_{1}\right\rdbrack=\emptyset or \left\ldbrack e_{2}\right\rdbrack=\emptyset. But then, by induction, we have that or . In either case, it follows that . ∎
See 3
Proof.
We write R_{A}(q)=\{q^{\prime}\in Q:\exists U\in\mathsf{Pom}_{\Sigma}^{+}.\ q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{A}q^{\prime}\}.
Suppose that . If , then by definition. Otherwise, if , then q\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}q^{\prime} for some . We show, more generally, that if q^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}q^{\prime} for some , then , by induction on . In the base, and thus . But then immediately. For the inductive step, there are two cases to consider.
- •
If with and smaller than , then there exists an such that q^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}r and r\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A}q^{\prime}. By induction, , and again by induction .
- •
If with and smaller than , then there exist and such that r\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}r^{\prime} and s\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A}s^{\prime}, and . Note that, in this case, . If , then . Otherwise, , and thus .
For the second part of the claim, suppose that is the only state of with an empty language. Let . If , then the claim follows. For the case where , we prove that , by induction on the construction of . In the base, , and thus we find that immediately.
For the inductive step, there are two cases to consider. For both cases, first note that if and , then .
- •
Suppose for some and . By induction, we know that . If , then and the claim follows. Otherwise, note that by q^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{a}}}_{A}q^{\prime}. If , then immediately. In the remaining case, , and thus by the observation above.
- •
Suppose for some and . By induction we know that . Since , we know that — for otherwise and thus . Furthermore, if then and thus, since is the only state with an empty language, there exist as well as such that r\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{A}r^{\prime} and s\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{A}s^{\prime}; therefore, q^{\prime\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U\parallel V}}}_{A}q^{\prime} and thus . If , then immediately. Otherwise, , and thus by the observation above. ∎
See 4.1
Proof.
The proof proceeds by induction on the construction of . In the base, there are nine cases to consider.
- •
Suppose that , then the claim holds immediately.
- •
Suppose that . If , then either or . Since the latter does not hold, follows. Also, if , then immediately.
- •
Suppose that . If , then immediately; if , then also .
- •
Suppose that and . If , then or ; in either case, . The claim in the other direction is proved similarly.
- •
Suppose that and . If , then or , and thus one of must be in . But then or must be in , and thus . The proof in the other direction is similar.
- •
Suppose that and . Then and thus the claim holds immediately.
- •
Suppose that and . Then and thus the claim holds immediately.
- •
Suppose that and . Then and thus the claim holds immediately.
- •
Suppose that and . Then and thus the claim holds immediately.
For the inductive step, there are six cases to consider.
- •
Suppose that because ; the claim (in both directions) then follows from the induction hypothesis by symmetry of mutual implication.
- •
Suppose that because and ; the claim (in both directions) then follows from the induction hypothesis by transitivity of implication.
- •
Suppose that because and , with and . If , either or . But then (by induction) either or , thus . The claim in the other direction is proved similarly.
- •
Suppose that because and , with and . If , then . But then (by induction) , thus . The claim in the other direction is proved similarly.
- •
Suppose that because and with and . If , then . But then (by induction) , thus . The claim in the other direction is proved similarly.
- •
Suppose that because and with . Then , and so the claim holds immediately in both directions. ∎
See 4.1
Proof.
The proof of the first claim proceeds by induction on the construction of . In the base, there are nine cases to consider.
- •
If , then .
- •
If , then .
- •
If , then .
- •
If and , then
[TABLE]
- •
If and , then
[TABLE]
- •
If and , then .
- •
If and , then .
- •
If and , then .
- •
If and , then .
For the inductive step, there are six cases to consider.
- •
If because , then by induction we know that , thus .
- •
If because and , then by induction we know that and thus .
- •
If because and such that and , then by induction we know that and , and thus
[TABLE]
- •
If because and such that and , then by induction we know that and , and thus
[TABLE]
where we also apply Lemma 4.1.
- •
If because and such that and , then by induction we know that and , and thus
[TABLE]
where we also apply Lemma 4.1.
- •
If because and such that , then by induction we know that , and thus .
The proof of the second claim also proceeds by induction on the construction of . In the base, there are nine cases to consider.
- •
If , then .
- •
If , then .
- •
If , then .
- •
If and , then
[TABLE]
- •
If and , then
[TABLE]
- •
If and , then .
- •
If and , then .
- •
If and , then since , in particular . We then find that .
- •
If and , then since , in particular . We then find that .
For the inductive step, there are six cases to consider.
- •
If because , then by induction we know that , thus .
- •
If because and , then by induction we know that and , thus .
- •
If because and such that and , then by induction we know that and , and thus
[TABLE]
- •
If because and such that and , then by induction we know that and , and thus
[TABLE]
where we also apply Lemma 4.1.
- •
If because and such that and , then by induction we know that and . Furthermore, if and only if , and thus
[TABLE]
where we also apply Lemma 4.1.
- •
If because and such that , then by induction we know that , and thus .
The last claim is shown by induction on . In the base, , or , and thus . For the inductive step, there are four cases to consider.
- •
If , then .
- •
If , then .
- •
If , then .
- •
If , then . ∎
See 4.5
Proof.
The proof for the first claim proceeds by induction on . In the base, . If e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f, then . But then, since by definition of , we find that [e]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\simeq}[f].
For the inductive step, there are two cases to consider.
- •
If , with and smaller than , then there exists a such that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g and g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}f. By induction we find that [e]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\simeq}[g] and [g]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\simeq}[f], and thus [e]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\simeq}[f].
- •
If , with and smaller than , then there exist and such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime} and h\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h^{\prime}, and . Note that, by Lemma 4.2, . By induction, we find [g]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\simeq}[g^{\prime}] and [h]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\simeq}[h^{\prime}], with . Since , we find that [e]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\simeq}[f].
The proof of the second claim also proceeds by induction on . In the base, . If [e]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}[f], then . We choose to find that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f and by Lemma 4.1.
For the inductive step, there are two cases to consider.
- •
If , with and smaller than , then there exists a such that [e]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\simeq}[g] and [g]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\simeq}[f]. By induction, we find such that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime} and as well as g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f^{\prime\prime} and . By Lemma 4.1, we find such that g^{\prime}\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}f^{\prime} and . In total, we have that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime} with .
- •
If , with and smaller than , then there exist and such that [g]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\simeq}[g^{\prime}] and [h]\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\simeq}[h^{\prime}], and . By induction, we find that such that g\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{V}}}_{\Sigma}g^{\prime\prime} and h\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{W}}}_{\Sigma}h^{\prime\prime}, with and , with by Lemma 4.1. But then by Lemma 4.2. We can choose to find that that e\mathrel{\raisebox{-3.0pt}{\xrightarrow[]{U}}}_{\Sigma}f^{\prime} and by Lemma 4.1. ∎
See 4.5
Proof.
First, if , then by definition. The proof for the remaining cases proceeds by induction on the construction of . In the base, there are nine cases to consider.
- •
If , then the claim holds immediately.
- •
If , then .
- •
If , then .
- •
If and , then .
- •
If and , then .
For the inductive step, there are six cases to consider.
- •
If because , then by induction and so the claim follows.
- •
If because , then by induction and so .
- •
If because and with and , then and by induction, thus .
- •
If because and with and , then and by induction, thus .
- •
If because and with and , then and by induction, thus .
- •
If because and , then by induction . ∎
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Carolyn Jane Anderson, Nate Foster, Arjun Guha, Jean-Baptiste Jeannin, Dexter Kozen, Cole Schlesinger, and David Walker. Net KAT: semantic foundations for networks. In Proc. Principles of Programming Languages (POPL) , pages 113–126, 2014. doi:10.1145/2535838.2535862 . · doi ↗
- 2[2] Sabine Broda, Sílvia Cavadas, Miguel Ferreira, and Nelma Moreira. Deciding synchronous Kleene Algebra with derivatives. In Proc. Implementation and Application of Automata (CIAA) , pages 49–62, 2015. doi:10.1007/978-3-319-22360-5_5 . · doi ↗
- 3[3] Janusz A. Brzozowski. Derivatives of regular expressions. J. ACM , 11(4):481–494, 1964. doi:10.1145/321239.321249 . · doi ↗
- 4[4] Jay L. Gischer. The equational theory of pomsets. Theor. Comput. Sci. , 61:199–224, 1988. doi:10.1016/0304-3975(88)90124-7 . · doi ↗
- 5[5] Tony Hoare, Bernhard Möller, Georg Struth, and Ian Wehrman. Concurrent Kleene Algebra. In Proc. Concurrency Theory (CONCUR) , pages 399–414, 2009. doi:10.1007/978-3-642-04081-8_27 . · doi ↗
- 6[6] Tony Hoare, Stephan van Staden, Bernhard Möller, Georg Struth, and Huibiao Zhu. Developments in Concurrent Kleene Algebra. J. Log. Algebr. Meth. Program. , 85(4):617–636, 2016. doi:10.1016/j.jlamp.2015.09.012 . · doi ↗
- 7[7] Peter Jipsen. Concurrent Kleene Algebra with tests. In Proc. Relational and Algebraic Methods in Computer Science (RA Mi CS) 2014 , pages 37–48, 2014. doi:10.1007/978-3-319-06251-8_3 . · doi ↗
- 8[8] Peter Jipsen and M. Andrew Moshier. Concurrent Kleene Algebra with tests and branching automata. J. Log. Algebr. Meth. Program. , 85(4):637–652, 2016. doi:10.1016/j.jlamp.2015.12.005 . · doi ↗
