Abstract
T-systems are generalisations of marked graph Petri nets. This paper describes synthesis algorithms that allow bounded or unbounded T-systems to be derived from finite or infinite labelled transition systems satisfying a set of necessary properties. These properties can thus be interpreted as axioms characterising T-system state spaces.
Similar content being viewed by others
References
Badouel, E., Darondeau, P.: Theory of Regions. In: Reisig, W., Rozenberg, G. (eds.) Lectures on Petri Nets I: Basic Models. Lecture Notes in Computer Science, vol. 1491, pp. 529–586. Springer, Berlin (1999)
Best, E., Devillers, R.: Characterisation of the state spaces of live and bounded marked graph Petri nets. In: Dediu, A.-H., Martín-Vide, C., Sierra-Rodríguez, J.-L., Truthe, B. (eds.) Proceedings of LATA’14. LNCS, vol. 8370, pp. 161–172. Springer, Berlin (2014)
Best, E., Devillers, R.: Characterisation of the State Spaces of Marked Graph Petri Nets. Submitted Paper. Also available as Technical Report 03–14, Dep. Informatik, Carl von Ossietzky Universität Oldenburg (December 2014)
Best, E., Devillers, R.: Synthesis of Persistent Systems. In: Proceedings of the 35rd International Conference on Application and Theory of Petri Nets and Concurrency (Tunis, June 2014). LNCS, vol. 8489. Springer, pp. 111–129 (2014)
Commoner, F., Holt, A.W., Even, S., Pnueli, A.: Marked directed graphs. J. Comput. Syst. Sci. 5(5), 511–523 (1971)
Crespi-Reghizzi, S., Mandrioli, D.: A decidability theorem for a class of vector addition systems. Inf. Process. Lett. 3, 78–80 (1975)
Genrich, H.J., Lautenbach, K.: Synchronisationsgraphen. Acta Inf. 2, 143–161 (1973)
Jones, N., Landweber, L., Lien, Y.: Complexity of some problems in Petri nets. Theor. Comput. Sci. 4, 277–299 (1977)
Keller, R.M.: A Fundamental Theorem of Asynchronous. Parallel Computation Parallel Processing. LNCS, vol. 24. Springer, Berlin (1975)
Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)
Recalde, L., Silva, M., Ezpeleta, J., Teruel, E.: Petri nets and manufacturing systems: an examples-driven tour. In: Desel, J., Reisig, W., Rozenberg, G. (eds.) Lectures on Concurrency and Petri Nets: Advances in Petri Nets, Volume 3098 of Lecture Notes in Computer Science, pp. 742–788. Springer, Berlin (2004)
Schaefer, M., Vogler, W., Jančar, P.: Determinate STG decomposition of marked graphs. In: Ciardo, G., Darondeau, P. (eds.) Proceedings of Applications and Theory of Petri Nets, Miami. LNCS, vol. 3536, pp. 365–384. Springer, Berlin (2005)
Teruel, E., Chrza̧stowski-Wachtel, P., Colom, J.M., Silva, M.: On weighted T-systems. In: Jensen, K. (ed.) ATPN’92, LNCS, vol. 616, pp. 348–367 (1992)
Teruel, E., Colom, J.M., Silva, M.: Choice-free Petri nets: a model for deterministic concurrent systems with bulk services and arrivals. IEEE Trans. Syst. Man Cybern. Part A 27–1, 73–83 (1997)
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix 1: A direct synthesis algorithm for the bounded case
In this section, we shall consider an lts \(TS\) satisfying b, a, \(\mathbf{perm}\) and f, and we shall derive a direct synthesis algorithm, constructing a bounded proper T-system solving \(TS\), generalising but not relying on the algorithm developed in [2]. The following definition has been instrumental for this purpose in [2], and it remains important in the present context.
Definition 27
Sequentialising states
For any \(x\in T\), \( Seq (x)=\{s\in S\mid \lnot s[x\rangle \wedge \forall a\in s^\bullet :s[ax\rangle \}\).
\( Seq (x)\) comprises the \(\preceq _x\)-maximal states that do not enable \(x\), where \(s\preceq _x s'\) iff \(s[\alpha \rangle s'\) for some \(\alpha \in (T{\setminus }\{x\})^*\).
Lemma 28
Properties of states in \( Seq (x)\)
For every label \(x\in T\) and every state \(s\in Seq (x)\), \(|s^\bullet |\le 1\). In particular, the final state \(\mathbf {s}_\top \) is in \( Seq (x)\), so that always \( Seq (x)\ne \emptyset \).
Proof
The fact that \(\mathbf {s}_\top \in Seq (x)\) follows directly from the definition of \( Seq (x)\).
Let \(x\in T\), \(s\in Seq (x)\), and \(a,b\in s^\bullet \) with \(a\ne b\). Clearly \(a\ne x\ne b\) by \(\lnot s[x\rangle \), and \(s[ax\rangle \) as well as \(s[bx\rangle \). By persistence, \(s[ax\rangle s_1[b\rangle s'\) and \(s[bx\rangle s_2[a\rangle s'\) for some state \(s'\). By backward persistence, \(q[a\rangle s_1\) and \(q[b\rangle s_2\) for some state \(q\), as well as \(s[x\rangle q\), a contradiction to \(s\in Seq (x)\). Hence \(s^\bullet \) cannot have more than one element, as was claimed. \(\square \)
If \(s^\bullet \) is empty, then \(s=\mathbf {s}_\top \), by the fact that \(\mathbf {s}_\top \) is the only state without any successor states.
Lemma 29
More properties of states in \( Seq (x)\)
Let \(x\in T\), \(s,s'\in Seq (x)\) with \(s^\bullet =s'^\bullet =\{a\}\), and \(q\in S\). Then
-
(1)
if \(q\preceq s\), then \(\varDelta _{q,s}(x)- \varDelta _{q,s}(a)\ge 0\)
-
(2)
if \(s\preceq q\), then \(\varDelta _{s,q}(a)- \varDelta _{s,q}(x)\ge 0\)
-
(3)
if \(s\preceq s'\), then \(\varDelta _{s,s'}(x)- \varDelta _{s,s'}(a)= 0\)
-
(4)
\(s\preceq s'\) or \(s'\preceq s\)
-
(5)
\(\varDelta _{\mathbf {s}_\bot ,s}(x)- \varDelta _{\mathbf {s}_\bot ,s}(a)=\varDelta _{\mathbf {s}_\bot ,s'}(x)- \varDelta _{\mathbf {s}_\bot ,s'}(a)\ge 0\)
-
(6)
\((\varDelta _{\mathbf {s}_\bot ,s}(x)- \varDelta _{\mathbf {s}_\bot ,s}(a))\ge (\varDelta _{\mathbf {s}_\bot ,q}(x)- \varDelta _{\mathbf {s}_\bot ,q}(a))\)
-
(7)
if \(\lnot q[x\rangle \) but \(q[ax\rangle \), there is some \(s''\in Seq (x)\) with \(s''[ax\rangle \) and \(q[\alpha \rangle s''\) with no \(x\) or \(a\) in \(\alpha \).
Proof
-
(0)
We already know that \(a\ne x\).
-
(1)
For the first property, if \(q[\alpha \rangle s[ax\rangle \widehat{s}\) and \(\varPsi (\alpha )(x)<\varPsi (\alpha )(a)\), then by rearranging \(\alpha \) using Lemma 17 a few times, we get \(q[\beta _1 x\beta _2 a\beta _3\rangle \widehat{s}\), with no \(x\) in \(\beta _2\beta _3\), no \(a\) in \(\beta _3\) and \(\varPsi (\beta _1\beta _2\beta _3)=\varPsi (\alpha )\); as a consequence, by Keller, , and \(s\) may not be in \( Seq (x)\). A contradiction.
-
(2)
For the second property, if \(s[\alpha \rangle q\) and \(\varPsi (\alpha )(x)>\varPsi (\alpha )(a)\), by rearranging again \(\alpha \) using Lemma 18 a few times, we may push a label different from \(a\) in front, which contradicts the hypothesis on \(s\).
-
(3)
For the third property, if \(s[\alpha \rangle s'\), by the first two properties \(\varPsi (\alpha )(x)\ge \varPsi (\alpha )(a)\) and \(\varPsi (\alpha )(x)\le \varPsi (\alpha )(a)\), hence the property.
-
(4)
For the fourth property, if \(\mathbf {s}_\bot [\alpha \rangle s\) and \(\mathbf {s}_\bot [\alpha '\rangle s'\), by Keller we have and for some \(s''\). As a consequence, if \(\varPsi (\alpha ')(a)\le \varPsi (\alpha )(a)\) we must have \(\varPsi (\alpha ')\le \varPsi (\alpha )\) otherwise from \(s\) we may have an output different from \(a\); then \(s=s''\) and \(s'\preceq s\). If \(\varPsi (\alpha )(a)\le \varPsi (\alpha ')(a)\), symmetrically, we must have \(s\preceq s'\).
-
(5)
This is a corollary of properties (1), (3) and (4).
-
(6)
Let \(\mathbf {s}_\bot [\sigma \rangle q\) and \(\mathbf {s}_\bot [\alpha \rangle s\). From Keller’s theorem, for some \(q'\), and . If , then \(s=q'\), \(q\preceq s\), and the property results from case (1) since \(\varDelta _{\mathbf {s}_\bot ,s}=\varDelta _{\mathbf {s}_\bot ,q}+\varDelta _{q,s}\). Otherwise, must start with an \(a\), so that we must have \(\varDelta _{\mathbf {s}_\bot ,q}(a)>\varDelta _{\mathbf {s}_\bot ,s}(a)\) (otherwise there is no \(a\) in ); moreover, \((\varDelta _{\mathbf {s}_\bot ,q}(a)-\varDelta _{\mathbf {s}_\bot ,s}(a))\ge (\varDelta _{\mathbf {s}_\bot ,q}(x)-\varDelta _{\mathbf {s}_\bot ,s}(x))\) (otherwise, there are more \(x\)’s than \(a\)’s in , and by Corollary 16 we may rearrange in such a way that the first \(x\) occurs before the first \(a\), a contradiction); hence the claim.
-
(7)
If \(q\in Seq (x)\), we are done with \(s''=q\). Otherwise there is some \(q[b\rangle q'\) with \(b\ne a\). The proof of Lemma 28 may then be applied to see that \(q'\) does not allow \(x\), but by persistence it allows \(ax\). Hence the argument may be resumed from \(q'\), and since \(S\) is finite, at some point we shall stop at some \(s''\) with the desired properties. \(\square \)
We then consider the following algorithm.
Theorem 30
Validity of Algorithm (4)
The net \(N\) constructed by Algorithm (4) is, up to isomorphism, the minimal proper T-system solving \(TS\).
Proof
First, from Lemma 29(5), the result of the algorithm does not depend on the choice of \(s\) among the possibly many states in \( Seq (x)\) allowing \(a\), and from 29(1) the initial marking of \(p^{a,x}\) is semipositive (the one of \(p^x\) also when it exists).
We may see that \(N\) is a T-system without side-condition and isolated place; as a consequence, if it solves \(TS\), it must be proper (otherwise \(TS\) would not be acyclic).
If \(N\) contains a place \(p^x\), from Lemma 21(a), the marking of \(p^{x}\) at any state \(q\) is \(M_q=M_0(p^{x})-\varDelta _{\mathbf {s}_\bot ,q}(x)\ge 0\).
From Lemmas 21(a) and 29(6), the marking of \(p^{a,x}\) at any state \(q\) is \(M_q=M_0(p^{a,x})+\varDelta _{\mathbf {s}_\bot ,q}(a)-\varDelta _{\mathbf {s}_\bot ,q}(x)\ge 0\).
Hence, since \(N\) does not contain side-conditions, the language generated by \(N\) contains the language of \(TS\) (otherwise, there would be a path of \(TS\) blocked by some place, because its “marking” would become negative).
It remains to show that it may not be larger. Let \(q\in S\) and \(x\in T\) be such that \(\lnot q[x\rangle \). If \(\varDelta _{q,\mathbf {s}_\top }(x)=0\), since there is a constructed place \(p^x\) or \(p^{a,x}\) with empty marking at state \(\mathbf {s}_\top \), the same place also has an empty marking at \(q\) (the only way to reduce this marking is by performing an \(x\), and by hypothesis there is no \(x\) between \(q\) and \(\mathbf {s}_\top \)), disabling \(x\) at \(q\) as expected. Otherwise, let \(q'\) be a successor of \(q\) such that \(q'[ax\rangle \) for some \(a\) while \(x\) is not allowed between \(q\) and \(q'\). Let assume that \(q'\) is a farest state of that kind. From \(q'\), we could possibly perform some \(b\ne a\) (but \(b\ne x\) from the definition of \(q'\)) but not \(bx\); indeed, if \(q'[bx\rangle \), since we also have \(q'[ax\rangle \), by Keller \(q'[bxa\rangle q''\) and \(q'[axb\rangle q''\) for some \(q''\), but then, by backward Keller and backward persistence, we have \(q'[x\rangle q'''\), \(q'''[ab\rangle q''\) and \(q'''[ba\rangle q''\), contradicting the fact that \(x\) is not allowed between \(q\) and \(q'\) (included). But then \(q'\) is not a farest state with this property, and \(q'\) must belong to \( Seq (x)\), with (unique) output \(a\). The place \(p^{a,x}\) by construction has an empty marking at state \(s\), but then also at \(q\) (there is no \(x\) between \(q\) and \(q'\) by definition, and the only way to reduce the marking is by performing an \(x\)). Hence again \(N\) has a place disabling \(x\) at state \(q\).
Finally, (from well known results of the region theory), the only way to fail to get isomorphism when the languages coincide is because two different states \(s,s'\in S\) correspond to the same marking of the constructed net. But then, if \(s[\alpha \rangle s'\), since the languages of \(N\) and \(TS\) are the same, that means that \(s[\alpha \alpha \alpha \cdots \rangle \), and since \(S\) is finite, we must at some point close a cycle, contradicting acyclicity. The same is true if \(s'[\alpha \rangle s\). If there is no directed path between \(s\) and \(s'\), since \(\mathbf {s}_\bot [\alpha _1\rangle s\) and \(\mathbf {s}_\bot [\alpha _2\rangle s'\), by Keller’s theorem, \(s[\alpha \rangle s''\) and \(s'\beta \rangle s''\) for some s”, with and , so that \(\alpha \) and \(\beta \) are label-disjoint and have the same effect on the markings. Since \(s\) and \(s'\) correspond to the same markings and the languages coincide, from \(s\) one may also perform \(s[\beta \rangle s'''\) for some \(s'''\), and the markings at \(s'''\) and at s” coincide. Applying again Keller, we shall construct a sequence \(s[\beta \rangle s'''[\beta \rangle s_1[\beta \rangle \cdots \). Since \(S\) is finite, at some point we shall close a cycle, contradicting the acyclicity of \(TS\). Hence the isomorphism.
Let us now show that the constructed net is the minimal proper T-system which solves \(TS\). If \(s\) is in \( Seq (x)\) and allows \(a\), there must be a place which impedes \(x\) at \(s\) but not in its successor, and in a T-system this is only possible with a place with the same input/output as \(p^{a,x}\), with an initial marking leading to an empty marking at state \(s\), hence with exactly the initial marking of \(p^{a,x}\). We shall now delineate when exactly an additional place is needed to impede \(x\) at \(\mathbf {s}_\top \). From Proposition 19, there is a sequence \([\alpha x \beta \rangle \mathbf {s}_\top \) with \(\varPsi (\alpha x \beta )=\mathbf {1}\). Let us assume \(\alpha \) is of minimal length. If \(\alpha =\varepsilon \), no place with output \(x\) and another input may have an empty marking at \(\mathbf {s}_\top \), since some token will be generated on it; hence a place of the kind \(p^x\) is necessary, with the corresponding initial marking. Otherwise, let us assume that \(\alpha =\alpha ' a\) and \([\alpha '\rangle q [ax\beta \rangle \mathbf {s}_\top \); \(q\) may not allow \(x\) otherwise, by persistence, \(a\) and \(x\) could be permuted and \(\alpha \) would not be of minimal length. From Lemma 29(7), there is some \([\alpha '\rangle q[\gamma \rangle s[ax\delta \rangle \mathbf {s}_\top \) with \(s\in Seq (x)\) and \(\varPsi (ax\delta )\le \mathbf {1}\); as a consequence the algorithm constructed a place \(p^{a,x}\) with an initial marking leading to an empty marking at state \(s\), so that the marking is empty again at \(\mathbf {s}_\top \) and no extra place is needed. The algorithm thus constructs the exact extra place when it is needed only. \(\square \)
Figure 3 illustrates an application of this algorithm. Here, \( Seq (a)=\{\mathbf {s}_\top \}\) and \( Seq (b)=\{\mathbf {s}_\bot ,s_3,\mathbf {s}_\top \}\). For label \(b\), the first phase of algorithm (4) creates place \(p_2=p^{a,b}\) from state \(\mathbf {s}_\bot \in Seq (b)\) with \(\mathbf {s}_\bot ^\bullet =\{a\}\) (or from \(s_3\)). On the contrary, place \(p^b=p_3\) (shown in dashed) is redundant, and it is not created from state \(\mathbf {s}_\top \in Seq (b)\), because the if condition is made wrong using place \(p^{a,b}\), noting that \(M_0(p^{a,b})=0\) and from \(\mathbf {s}_\bot \) to \(\mathbf {s}_\top \) there are two \(a\)’s and two \(b\)’s. For label \(a\), there is no first phase, and the second phase creates place \(p^a=p_1\) from state \(\mathbf {s}_\top \in Seq (a)\) (the if condition is trivially satisfied since the first phase did not create any place).
It is possible to relate the places constructed by Algorithm (4) to the (non-redundant) ones constructed by Algorithm (1). In \(\overline{TS}\), the states \(s\in Seq (x)\) with output \(a\) produce the same places in \(TS\) when \(x\ne e\ne a\); if \(a=e\), \(s=\mathbf {s}_\top \) and the constructed place is \(p^x\); if \(x=e\), the corresponding place constructed in \(\overline{TS}\) is useless in \(TS\).
Appendix 2: A direct synthesis algorithm for the unbounded case
In this section, we shall consider an infinite lts \(TS\) satisfying b, a and \(\mathbf{perm}\), and we shall derive a direct synthesis (pseudo-) algorithm, constructing an unbounded proper T-system solving \(TS\), in the spirit of the one developed in [3].
Our aim is thus to develop a direct algorithm building a solution for \(TS\). However, in this case, it may happen that minimal solutions are not unique. For instance, consider the lts illustrated on top of Fig. 4. It has a unique (up to isomorphism) T-system with the same language; it is a marked graph (illustrated as \(MG\), together with its reachability graph \(RG\)) but it does not yield the expected reachability graph. In order to get a correct solution, it is necessary to unfold \(RG\); this may be done with the aid of a place without output transition (those places do not modify the language, but avoid to reproduce markings); but there are two (non isomorphic) such minimal solutions: \(T_1\) and \(T_2\); note however that they have the same size.
Hence, we shall first develop an algorithm constructing a minimal T-system with the same language as \(TS\), and afterwards we shall add a minimal number of output-free places (initially unmarked) in order to unfold the needed parts of the reachability graph.
For that, Algorithm (4) may not be reused without some adaptations, because \(\mathbf {s}_\top \) does not exist in the infinite case, and for some \(x\) it may happen that \( Seq (x)\) is empty, while we need some places corresponding to those situations.
First, we shall directly introduce the needed \(a\)’s for each \(x\), hence generalising the introduction of the labels in \(s^\bullet \) for \(s\in Seq (x)\):
Definition 31
Seaming Labels
For any \(x\in T\), \( Seam (x)=\{a\in T|\exists s\in S: s[ax\rangle \wedge \lnot s[x\rangle \}\). For any \(x\in T\) and \(a\in Seam (x)\), we shall also define \( Front (x,a)=\{s| s[ax\rangle \wedge \lnot s[x\rangle \}\)
And we shall define the bound of \(x\) when it exists, hence generalising occurrence bounds from \(\mathbf {s}_\bot \) to \(\mathbf {s}_\top \):
Definition 32
Occurrence bound
For any \(x\in T\), \( Bound (x)=\sup \{\varDelta _{\mathbf {s}_\bot ,s}(x)|s\in S\}\); \(x\) will be said bounded if \( Bound (x)\) is finite.
The properties in Lemmas 28 and 29 may then be generalised and extended:
Lemma 33
Some properties of \( Front (x,a)\)
Let \(x\in T\), \(a\in Seam (x)\), \(s,s'\in Front (x,a)\) and \(q\in S\). Then
-
(0)
if \(s[bx\rangle \), \(b=a\)
-
(1)
if \(s[b\rangle s''\) with \(b\ne a\), \(s''\in Front (x,a)\)
-
(2)
if \(q\preceq s\), then \(\varDelta _{q,s}(x)- \varDelta _{q,s}(a)\ge 0\)
-
(3)
if \(s\preceq q\), then \(\varDelta _{s,q}(a)- \varDelta _{s,q}(x)\ge 0\)
-
(4)
if \(s\preceq s'\), then \(\varDelta _{s,s'}(x)- \varDelta _{s,s'}(a)= 0\)
-
(5)
\(s\preceq \hat{s}\) and \(s'\preceq \hat{s}\) for some \(\hat{s}\in Front (x,a)\)
-
(6)
\(\varDelta _{\mathbf {s}_\bot ,s}(x)- \varDelta _{\mathbf {s}_\bot ,s}(a)=\varDelta _{\mathbf {s}_\bot ,s'}(x)- \varDelta _{\mathbf {s}_\bot ,s'}(a)\ge 0\).
-
(7)
\((\varDelta _{\mathbf {s}_\bot ,s}(x)- \varDelta _{\mathbf {s}_\bot ,s}(a))\ge (\varDelta _{\mathbf {s}_\bot ,q}(x)- \varDelta _{\mathbf {s}_\bot ,q}(a))\).
Proof
-
(0)
From the definitions, \(b\ne x\ne a\). The fact that \(b=a\) results from the same argument as the one used in the proof of Lemma 28.
-
(1)
From the previous property we may not have \(s''[x\rangle \), and by persistence we have \(s''[ax\rangle \).
-
(2)
If \(q[\alpha \rangle s[ax\rangle \widehat{s}\) and \(\varPsi (\alpha )(x)<\varPsi (\alpha )(a)\), then by rearranging \(\alpha \) using Lemma 17 a few times, we get \(q[\beta _1 x\beta _2 a\beta _3\rangle \widehat{s}\), with no \(x\) in \(\beta _2\beta _3\), no \(a\) in \(\beta _3\) and \(\varPsi (\beta _1\beta _2\beta _3)=\varPsi (\alpha )\); as a consequence, by Keller, , and \(s\) may not be in \( Front (x,a)\). A contradiction.
-
(3)
If \(s[\alpha \rangle q\) and \(\varPsi (\alpha )(x)>\varPsi (\alpha )(a)\), by rearranging again \(\alpha \) using Lemma 18 a few times, we may push the first \(x\) before the first \(a\), which is impossible since, from (0) and (1) the only way to perform an \(x\) from \(s\) is by first performing an \(a\).
-
(4)
If \(s[\alpha \rangle s'\), by properties (2) and (3), \(\varPsi (\alpha )(x)\ge \varPsi (\alpha )(a)\) and \(\varPsi (\alpha )(x)\le \varPsi (\alpha )(a)\), hence the claimed property.
-
(5)
If \(\mathbf {s}_\bot [\alpha \rangle s\) and \(\mathbf {s}_\bot [\alpha '\rangle s'\), by Keller we have and for some \(\hat{s}\). As a consequence, if \(\varPsi (\alpha ')(a)\le \varPsi (\alpha )(a)\) we must have \(\varPsi (\alpha ')(x)\le \varPsi (\alpha )(x)\) otherwise from \(s\) we may have an output \(x\) without an \(a\) before; then, from properties (0) and (1), \(\hat{s}\in Front (x,a)\). If \(\varPsi (\alpha )(a)\le \varPsi (\alpha ')(a)\), the situation is symmetrical and we have the same result.
-
(6)
This is a corollary of properties (2), (4) and (5).
-
(7)
Let \(\mathbf {s}_\bot [\sigma \rangle q\) and \(\mathbf {s}_\bot [\alpha \rangle s\). From Keller’s theorem, for some \(q'\), and . If , then \(s=q'\), \(q\preceq s\) and the property results from case (2). Otherwise, if contains no \(a\), from properties (0) and (1), it also does not contain any \(x\), \(q'\) belongs to \( Front (x,a)\) and the property results from (2) again. If contains an \(a\), from (3) \(\varDelta _{s,q'}(a)\ge \varDelta _{s,q'}(x)\), contains no \(a\), and gathering all those properties leads to the claimed result.\(\square \)
We then consider the following algorithm.
Theorem 34
Validity of Algorithm (5)
The net \(N\) constructed by Algorithm (5) is, up to isomorphism, the minimal T-system having the same language as \(TS\).
Proof
First, from Lemma 33(6), the result of the algorithm does not depend on the choice of \(s\) among the possibly many states in \( Front (x,a)\), and from 33(2) the initial marking of \(p^{a,x}\) is semipositive (the one of \(p^x\) also when it exists).
We may see that \(N\) is a T-system without side-condition and isolated place.
If \(N\) contains a place \(p^x\), from Lemma 21(a) and Definition 32, the marking of \(p^{x}\) at any state \(q\) is \(M_q=M_0(p^{x})-\varDelta _{\mathbf {s}_\bot ,q}(x)\ge 0\). From Lemmas 21(a) and 33(7), the marking of \(p^{a,x}\) at any state \(q\) is \(M_q=M_0(p^{a,x})+\varDelta _{\mathbf {s}_\bot ,q}(a)-\varDelta _{\mathbf {s}_\bot ,q}(x)\ge 0\).
Hence, since \(N\) has no side condition, the language generated by \(N\) contains the one of \(TS\) (otherwise there would be a place blocking a valid transition, because this would lead to an incorrect, i.e. not semipositive, marking).
It remains to show that it may not be larger.
Let \(q\in S\) and \(x\in T\) be such that \(\lnot q[x\rangle \). If \(x\) is bounded and \(\varDelta _{\mathbf {s}_\bot ,q}(x)= Bound (x)\), by construction there is a constructed place \(p^x\) or \(p^{a,x}\) with empty marking at state \(q\), disabling \(x\) as expected. Otherwise, let \(s\) be a (first) successor of \(q\) such that \(s[ax\rangle \) for some \(a\): \(s\in Front (x,a)\), and there is no \(x\) between \(q\) and \(s\); the place \(p^{a,x}\) by construction has an empty marking at state \(s\), but then also at \(q\) (there is no \(x\), and there may be no \(a\) either, between \(q\) and \(s\)); hence again \(N\) has a place disabling \(x\) at state \(q\).
Finally, let us show that the constructed net is, up to isomorphism, the minimal T-system with the same language as \(TS\). If \(s\) is in \( Front (x,a)\), there must be a place which impedes \(x\) at \(s\) but not after performing an \(a\), and in a T-system this is only possible with a place with the same input/output as \(p^{a,x}\), with an initial marking leading to an empty marking at state \(s\), hence with exactly the initial marking of \(p^{a,x}\). We shall now delineate when exactly an additional place is needed to impede \(x\) in a state \(q\) such that \(\varDelta _{\mathbf {s}_\bot ,q}(x)= Bound (x)\), hence when no \(x\) will ever be possible afterwards. From Proposition 19, there is a sequence \([\alpha x \beta \rangle q[\gamma \rangle q'\) with \(\varPsi (\alpha x \beta \gamma )=1\) and \(\varDelta _{\mathbf {s}_\bot ,q'}(x)= Bound (x)\). Let us assume \(\alpha \) is of minimal length. If \(\alpha =\varepsilon \), no place with output \(x\) and another input may have an empty marking at \(q'\), since some token will be generated on it; hence a place of the kind \(p^x\) is necessary, with the corresponding initial marking. Otherwise, let us assume that \(\alpha =\alpha ' a\) and \([\alpha '\rangle q'' [ax\beta \rangle q\); \(q''\) may not allow \(x\) otherwise, by persistence, \(a\) and \(x\) could be permuted and \(\alpha \) would not be of minimal length. Hence \(q''\in Front (x,a)\) and there is a constructed place \(p^{a,x}\) with empty marking at \(q''\). By construction, there is no (second) \(a\) between \(q''\) and \(q\), so that the marking of that place is still empty at \(q\) and no extra place is needed. The algorithm thus constructs the exact extra place when it is needed only. \(\square \)
As noted about Fig. 4, it may happen that the result \(N\) of Algorithm (5) is not a proper T-system, and has not a reachability graph isomorphic to \(TS\). It is possible to recover the situation, by the following algorithm:
Theorem 35
Validity of Algorithm (6)
The net \(N\) constructed by Algorithm (6) is a proper T-system solving \(TS\) with minimal size.
Proof
From the construction, and from Theorem 34, the result is a proper T-system with the same language as \(TS\) and with minimal size (but there may be many non-isomorphic results). The only way to have non-isomorphism is that two different states , \(s\) and \(s'\), of \(TS\) correspond to the same marking of \(N\). If \(s[\alpha \rangle s'\) (with \(\alpha \ne \varepsilon \)), that means that the reachability graph of \(N\) is not acyclic, contradicting Proposition 12. The same is true if \(s'[\alpha \rangle s\). Now, if \(s\) and \(s'\) are not linearly ordered, the same reasoning as in the proof of Theorem 30 leads to the fact that \(s[\alpha \rangle s''\) and \(s'[\beta \rangle s''\), with \(\alpha \ne \varepsilon \ne \beta \), \(\alpha \) and \(\beta \) being label-disjoint. Hence, \(\alpha \) and \(\beta \) must have the same effect on the markings. Due to label disjointness, this is not possible if \(\alpha \) or \(\beta \) involves a label corresponding to a transition with an output of the kind \(p_{\mathcal C}\) or input of the kind \(p^x\). If \(\alpha \) contains \(n\) times a label \(x\), for each place \(p^{a,x}\) or \(p^{x,a}\) (when they exist), it must contain label \(a\) \(n\) times too (otherwise, still due to label-disjointness, \(\beta \) may not have the same effect), and symmetrically for \(\beta \). But that means that the effect of \(\alpha \) and \(\beta \) is null, that \(s''\) corresponds to the same marking as \(s\) and \(s'\), and we are back in the case of two linearly related states with the same marking. \(\square \)
In the example of Fig. 4, from the given lts \(TS\), the algorithm (5) yields the marked graph \(MG\) and, from the latter, algorithm (6) yields either \(T_1\) or \(T_2\).
Rights and permissions
About this article
Cite this article
Best, E., Devillers, R. State space axioms for T-systems. Acta Informatica 52, 133–152 (2015). https://doi.org/10.1007/s00236-015-0219-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00236-015-0219-0