Bisimulation of Labeled State-to-Function Transition Systems of Stochastic Process Languages

Bisimulation of Labeled State-to-Function Transition Systems
of Stochastic Process Languages

D. Latella & M. Massink \IfArrayPackageLoaded
CNR – Istituto di Scienza e Tecnologie dell’Informazione ‘A. Faedo’
CNR – Istituto di Scienza e Tecnologie dell’Informazione ‘A. Faedo’
   E.P. de Vink  \IfArrayPackageLoaded
Technische Universiteit Eindhoven and Centrum Wiskunde Informatica
Technische Universiteit Eindhoven and Centrum Wiskunde Informatica
Corresponding author, email evink@win.tue.nl.
Abstract

Abstract Labeled state-to-function transition systems, FuTS for short, admit multiple transition schemes from states to functions of finite support over general semirings. As such they constitute a convenient modeling instrument to deal with stochastic process languages. In this paper, the notion of bisimulation induced by a FuTS is addressed from a coalgebraic point of view. A correspondence result is proven stating that FuTS-bisimulation coincides with the behavioral equivalence of the associated functor. As generic examples, the concrete existing equivalences for the core of the stochastic process algebras PEPA and \textsl{IML}\mskip 1.0mu are related to the bisimulation of specific FuTS, providing via the correspondence result coalgebraic justification of the equivalences of these calculi.

U. Golas, T. Soboll (Eds.): Proceedings of ACCAT 2012 EPTCS 93, 2012, pp. Bisimulation of Labeled State-to-Function Transition Systems of Stochastic Process LanguagesLABEL:LastPage, doi:10.4204/EPTCS.93.2

Bisimulation of Labeled State-to-Function Transition Systems

of Stochastic Process Languages

D. Latella & M. Massink \IfArrayPackageLoaded
CNR – Istituto di Scienza e Tecnologie dell’Informazione ‘A. Faedo’
CNR – Istituto di Scienza e Tecnologie dell’Informazione ‘A. Faedo’
and E.P. de Vink thanks: Corresponding author, email evink@win.tue.nl. \IfArrayPackageLoaded
Technische Universiteit Eindhoven and Centrum Wiskunde Informatica
Technische Universiteit Eindhoven and Centrum Wiskunde Informatica

1 Introduction

Process description languages equipped with formal operational semantics are successful formalisms for modeling concurrent systems and analyzing their behavior. Typically, the operational semantics is defined by means of a labeled transition system following the SOS approach. The states of the transition systems are just process terms, while the labels of the transitions between states represent the possible actions and interactions. Process description languages often come equipped with process equivalences, so that system models can be compared according to specific behavioral relations.

In the last couple of decades, process languages have been enriched with quantitative information. Among these quantitative extensions, those allowing a stochastic representation of time, usually referred to as stochastic process algebras, have received particular attention. The main aim has been the integration of qualitative descriptions and quantitative analysis in a single mathematical framework by building on the combination of labeled transition systems and continuous-time Markov chains. The latter being one of the most successful approaches to modeling and analyzing the performance of computer systems and networks. An overview on stochastic process algebras, equivalences and related analysis techniques can be found in [15, 2, 4], for example. A common feature of many stochastic process algebras is that actions are enriched with the rates of exponentially distributed random variables that characterize their duration. Although exploiting the same class of distributions, the models and the techniques underlying the definition of the calculi turn out to be significantly different in many respects. A prominent difference concerns the modeling of the race condition by means of the choice operator, and its relationship to the issue of transition multiplicity. In the quantitative setting, multiplicities can make a crucial distinction between processes that are qualitatively equivalent. Several significantly different approaches have been proposed for handling transition multiplicity. The proposals range from multi-relations [18, 14], to proved transition systems [24], to LTS with numbered transitions [15], to unique rate names [10], just to mention a few.

In [8], Latella, Massink et al. have proposed a variant of LTS, called Rate Transition Systems (RTS). In LTS, a transition is a triple (P,\alpha,P^{\prime}\mskip 1.0mu ) where P and \alpha are the source state and the label of the transition, respectively, while P^{\prime} is the target state reached from P via the transition. In RTS, a transition is a triple of the form (P,\alpha,\mathcal{P}\mskip 2.0mu ). The first and second component are the source state and the label of the transition, as in LTS, while the third component \mathcal{P} is a continuation function which associates a non-negative real value to each state P^{\prime}. A non-zero value for the state P^{\prime} represents the rate of the exponential distribution characterizing the time for the execution of the action represented by \alpha, necessary to reach P^{\prime} from P via the transition. If \mathcal{P} maps P^{\prime} to 0, then state P^{\prime} is not reachable from P via the transition. The use of continuation functions provides a clean and simple solution to the transition multiplicity problem and make RTS particularly suited for stochastic process algebra semantics. In order to provide a uniform account of the many stochastic process algebras proposed in the literature, in previous joint work of the first two authors [9] Labelled State-to-Function Transition Systems (FuTS) have been introduced as a natural generalization of RTS. In FuTS the co-domain of the continuation functions are arbitrary semirings, rather than just the non-negative reals. This provides increased flexibility while preserving basic properties of primitive operations like sum and multiplication.

In this paper we present a coalgebraic treatment of FuTS that allow multiple state-to-function transition relations involving arbitrary semirings. Given label sets {\cal L}_{\mskip 2.0mu i} and semirings {\cal R}_{\mskip 2.0mu i}, a FuTS takes the general format {\cal S}=(\,S,\,\mathop{\langle\,}\mskip-2.0mu {\lx@stackrel{{\scriptstyle}}{{% \rightarrowtail}}_{i}}\mathclose{\,\rangle}^{n}_{i=1}\,) with transition relations {\lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{i}}\,\subseteq\,S\times{\cal L% }_{\mskip 2.0mu i}\times\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{% S}}(\mskip 1.0mu \mskip 2.0mu S,{\cal R}_{\mskip 2.0mu i}\mskip 2.0mu ). Here, \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu \mskip 2% .0mu S,{\cal R}_{\mskip 2.0mu i}\mskip 2.0mu ) are the sets of functions from S to {\cal R}_{\mskip 2.0mu i} of finite support, a subcollection of functions also occurring in other work combining coalgebra and quantitative modeling. We will associate to {\cal S} the product of the functors \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu {\cdot}% ,{\cal R}_{\mskip 2.0mu i}\mskip 2.0mu )^{\mskip 1.0mu {\cal L}_{\mskip 2.0mu % i}}. For this to work, we need the transition relations \lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{i} to be total and deterministic for the coalgebraic modeling as a function. Maybe surprisingly, this isn’t a severe restriction at all in the presence of continuation functions: the zero-continuation \lambda s^{\prime}.\mskip 1.0mu 0 expresses that no LTS-transition exists from the state s to any state s^{\prime}; if s allows a transition to some state s_{1} as well as a state s_{2}, the continuation function will simply yield a non-zero value for s_{1} and for s_{2}.

The notion of {\cal S}-bisimulation that arises from a FuTS {\cal S} is reinterpreted coalgebraically as the behavioral equivalence of a functor that is induced by {\cal S}, along the lines sketched above. Behavioral equivalence rather than coalgebraic bisimulation is targeted, since, dependent on the semirings involved, weak pullbacks may not be preserved and the construction of a mediating morphism for a coalgebraic bisimulation from a concrete one may fail for degenerate denominators. However, following a familiar argument, we show that the functor associated with a FuTS does possess a final coalgebra and therefore has an associated notion of behavioral equivalence indeed. It is noted, in the presence of a final coalgebra for FuTS a more general definition of behavioral equivalence based on cospans coincides [21]. A correspondence result is proven in this paper that shows that the concrete bisimulation of a FuTS, coincides with behavioral equivalence of its functor. Pivotal for its proof is the absence of multiplicities in the FuTS treatment of quantities.

Using the bridge established by the correspondence result, we continue by showing for two well-known stochastic process algebras, viz. Hillston’s PEPA [18] and Hermanns’s \textsl{IML}\mskip 1.0mu  [14], that the respective standard notion of strong equivalence and strong bisimulation coincides with behavioral equivalence of the associated FuTS. This constitutes the main contribution of the paper. PEPA stands out as one of the prominent Markovian process algebras, while \textsl{IML}\mskip 1.0mu specifically provides separate prefix constructions for actions and for delays. The equivalences of PEPA and of \textsl{IML}\mskip 1.0mu are compared with the bisimulations of the respective FuTS as given by an alternative operational semantics involving the state-to-function scheme. In passing, the multiplicities have to be dealt with. Appropriate lemmas are provided relating the relation-based cumulative treatment with FuTS to the multirelation-based explicit treatment of PEPA and \textsl{IML}\mskip 1.0mu .

Related work on coalgebra includes [29, 20, 27], papers that also cover measures and congruence formats, a topic not touched upon here. For the discrete parts, regarding the correspondence of bisimulations, our work aligns with the approach of the papers mentioned. In this paper the bialgebraic perspective of SOS and bisimulation [28] is left implicit. An interesting direction of research combining coalgebra and quantities studies various types of weighted automata, including linear weighted automata, and associated notions of bisimulation and languages, as well as algorithms for these notions [7, 26, 6]. In particular, building on a result on bounded functors [12], it is shown in [6] for a functor involving functions of finite support over a field that the final coalgebra exists. Below, we have followed the scheme of [6] to obtain such a result for a functor induced by a FuTS. The notions of equivalence addressed in this paper, as often in coalgebraic treatments of process relations, are all strong bisimilarities.

The present paper is organized as follows: Section 2 briefly discusses some material on semirings and coalgebras. Labeled state-to-function transition systems and FuTS as well as the associated notion of bisimulation are provided in Section 3. The coalgebraic counterparts of FuTS and FuTS-bisimulation are defined in Section 4, where we also establish the correspondence with behavioral equivalence of the final coalgebra. In Section 5 the standard equivalence of PEPA is identified with the bisimulation of a FuTS and, hence, with behavioral equivalence. In Section 6 the same is done for the language of \textsl{IMC}\mskip 1.0mu where actions and delays are present on equal footing. Section 7 wraps up and discusses directions of future research. An appendix provides the proofs of a number of lemmas.

2 Preliminaries

A tuple {\cal R}=(\mskip 1.0mu {R},\mskip 1.0mu {+},\mskip 1.0mu {0},\mskip 1.0mu {% \ast},\mskip 1.0mu {1}\mskip 1.0mu ) is called a semiring, if (\mskip 1.0mu {R},\mskip 1.0mu {+},\mskip 1.0mu {0}\mskip 1.0mu ) is a commutative monoid with neutral element 0, (\mskip 1.0mu {R},\mskip 1.0mu {\ast},\mskip 1.0mu {1}\mskip 1.0mu ) is a monoid with neutral element 1, \ast distributes over +, and 0\ast r=r\ast 0=0 for all r\in R. As examples of a semiring we will use are the booleans \mathbb{B}=\{\,\texttt{false},\,\texttt{true}\,\} with disjunction as sum and conjunction as multiplication, and the non-negative reals \mathbb{R}_{\geqslant 0} with the standard operations. We will consider, for a semiring {\cal R} and a function \varphi:X\to{\cal R}, countable sums \textstyle{\sum\,}_{x\,\in\,X^{\prime}}\;\varphi(x) in {\cal R}, for X^{\prime}\subseteq X. For such a sum to exist we require \varphi to be of finite support, i.e. the support set \textsl{spt }(\varphi)=\{\,x\in X\mid\varphi(x)\neq 0\,\} is finite. Here, 0 is the neutral element of {\cal R} with respect to +.

We use the notation \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu X,{\cal R% }\mskip 2.0mu ) for the collection of all functions of finite support from the set X to the semiring {\cal R}. A construct [\,x_{1}\mapsto r_{1},\,\ldots,\,x_{n}\mapsto r_{n}\,], with x_{i}\in X, i=1\ldots n all distinct, r_{i}\in{\cal R}, i=1\ldots n, denotes the mapping that assigns r_{i} to x_{i}, i=1\ldots n, and assigns 0 to all x\in X different from all x_{i}. In particular [\mskip 1.0mu ]\mskip 1.0mu , or more precisely [\mskip 1.0mu ]_{\mskip 1.0mu {\cal R}}, is the constant function x\mapsto 0 and {\cal X}_{x}=[\,x\mapsto 1\,] is the characteristic function on {\cal R} for x\in X. For \varphi\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0% mu X,{\cal R}\mskip 2.0mu ), we write \mathopen{\oplus\mskip 1.0mu }\varphi for the value \textstyle{\sum\,}_{x\in X}\;{\varphi(x)} in {\cal R}. For \varphi,\psi\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(% \mskip 1.0mu X,{\cal R}\mskip 2.0mu ), the function \varphi\,+\,\psi is the pointwise sum of \varphi and \psi, i.e. (\varphi\,+\,\psi)(x)=\varphi(x)\,+\,\psi(x)\in{\cal R}. Clearly, \varphi\,+\,\psi is of finite support as \varphi and \psi are. Given an injective operation {\mathbin{\mskip 1.0mu |\mskip 1.0mu }}\colon X\times X\to X, we define \varphi\mathbin{\mskip 1.0mu |\mskip 1.0mu }\psi:X\to{\cal R}, by (\varphi\mathbin{\mskip 1.0mu |\mskip 1.0mu }\psi)(x)=\varphi(x_{1})\ast\psi(x% _{2}) if x=x_{1}\mathbin{\mskip 1.0mu |\mskip 1.0mu }x_{2} for some x_{1},x_{2}\in X, and (\varphi\mathbin{\mskip 1.0mu |\mskip 1.0mu }\psi)(x)=0 otherwise. Again, \varphi\mathbin{\mskip 1.0mu |\mskip 1.0mu }\psi is of finite support as \varphi and \psi are. This is used in the setting of syntactic processes P that may have the form P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2} for two processes P_{1} and P_{2} and a syntactic operator \mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }.

Lemma 1.

Let X be a set, {\cal R} a semiring, and \mathbin{\mskip 1.0mu |\mskip 1.0mu } an injective binary operation on X. For \varphi,\psi\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(% \mskip 1.0mu X,{\cal R}\mskip 2.0mu ) it holds that \mathopen{\oplus\mskip 1.0mu }(\varphi\,+\,\psi)=\mathopen{\oplus\mskip 1.0mu % }\varphi\,+\,\mathopen{\oplus\mskip 1.0mu }\psi and \mathopen{\oplus\mskip 1.0mu }(\,\varphi\mathbin{\mskip 1.0mu |\mskip 1.0mu }% \psi\,)=(\mathopen{\oplus\mskip 1.0mu }\varphi)\ast(\mathopen{\oplus\mskip 1.0% mu }\psi). ∎

We recall some basic definitions from coalgebra. See e.g. [25] for more details. For a functor {\cal F}:\textbf{Set}\to\textbf{Set} on the category Set of sets and functions, a coalgebra of {\cal F} is a set X together with a mapping \alpha:X\to{\cal F}(X). A homomorphism between two {\cal F}-coalgebras (X,\alpha) and (Y,\beta) is a function f:X\to Y such that {\cal F}(f)\mathop{\raisebox{0.5pt}{\scriptsize$\circ$}}\alpha=\beta\mathop{% \raisebox{0.5pt}{\scriptsize$\circ$}}f. An {\cal F}-coalgebra (\Omega,\omega) is called final, if there exists, for every {\cal F}-coalgebra (X,\alpha), a unique homomorphism [\![{\cdot}]\!]^{{\cal F}}_{X}:(X,\alpha)\to(\Omega,\omega). Two elements x_{1},x_{2} of a coalgebra (X,\alpha) are called behavioral equivalent with respect to {\cal F} if [\![{x_{1}}]\!]^{{\cal F}}_{X}=[\![{x_{2}}]\!]^{{\cal F}}_{X}, notation x_{1}\approx_{\mskip 2.0mu {\cal F}}x_{2}.

Using a characterization of [13], a functor {\cal F} on Set is bounded, if there exist sets A and B and a surjective natural transformation \eta:A\times({\cdot})^{B}\mathrel{\Rightarrow}{\cal F}. Here, A\times({\cdot}) is the functor that maps a set X to the Cartesian product A\times X and maps a function f:X\to Y to the mapping A\times f:A\times X\to A\times Y with (A\times f)(a,x)=(a,f(x)), while ({\cdot})^{B} denotes the functor that maps a set X to the function space X^{B} of all functions from B to X and that maps a function f:X\to Y to the mapping f^{B}:X^{B}\to Y^{B} with f^{B}(\varphi)(b)=f(\varphi(b)). For bounded functors we have the following result, see [12] for a proof.

Theorem 2.

If a functor {\cal F}:\textbf{Set}\to\textbf{Set} is bounded, then its final coalgebra exists. ∎

A number of proofs of results on process languages {{\cal P}} in this paper relies on so-called guarded recursion [3]. Typically, constants X are a syntactical ingredient in these languages. As usual, if X:=P, i.e. the constant X is declared to have the process P as its body, we require P to be prefix-guarded. Thus, any occurrence of a constant in the body P is in the scope of a prefix-construct of the language. Guarded recursion assumes the existence of a function c:{{\cal P}}\to\mathbb{N} such that c(P_{1}\mathbin{\raisebox{0.5pt}{{$\bullet$}}}P_{2})>\textrm{max}\{\,c(P_{1}),% \,c(P_{2})\,\} for all syntactic operations \bullet of {{\cal P}}, and moreover c(X)>c(P) if X:=P.

3 Labeled State-to-Function Transition Systems

The definition of a labeled state-to-function transition system, FuTS for short, involves a set of states S and one or more relations of states and functions from states into a semiring. For sums over arbitrary subsets of states to exist, the functions are assumed to be of finite support.

Definition 1.

A FuTS {\cal S}, in full a labeled state-to-function transition system, over a number of label sets {\cal L}_{\mskip 2.0mu i} and semirings {\cal R}_{\mskip 2.0mu i}, i=1\ldots n, is a tuple {\cal S}=(\,S,\,\mathop{\langle\,}\mskip-2.0mu {\lx@stackrel{{\scriptstyle}}{{% \rightarrowtail}}_{i}}\mathclose{\,\rangle}^{n}_{i=1}\,) such that {\lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{i}}\,\subseteq\,S\times{\cal L% }_{\mskip 2.0mu i}\times\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{% S}}(\mskip 1.0mu \mskip 2.0mu S,{\cal R}_{\mskip 2.0mu i}\mskip 2.0mu ), for i=1\ldots n. \bullet

As usual, we write s\lx@stackrel{{\scriptstyle\ell}}{{\rightarrowtail}}_{i}v for (s,\ell,v)\in{\lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{i}}. For a FuTS {\cal S}=(\,S,\,\mathop{\langle\,}\mskip-2.0mu {\lx@stackrel{{\scriptstyle}}{{% \rightarrowtail}}_{i}}\mathclose{\,\rangle}^{n}_{i=1}\,) the set S is called the set of states. We refer to each \lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{i} as a state-to-function transition relation of {\cal S} or just as a transition relation of it. If for {\cal S} we have that n=1, i.e. there is only one state-to-function transition relation \lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}, then {\cal S} is called simple. A FuTS {\cal S} is called total and deterministic if for each transition relation {\lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{i}}\subseteq S\times{\cal L}% _{\mskip 2.0mu i}\times\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S% }}(\mskip 1.0mu S,{\cal R}_{\mskip 2.0mu i}\mskip 2.0mu ) involved and for all s\in S, \ell\in{\cal L}_{\mskip 2.0mu i}, we have s\lx@stackrel{{\scriptstyle\ell}}{{\rightarrowtail}}_{i}v for exactly one v\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu S,{% \cal R}_{\mskip 2.0mu i}\mskip 2.0mu ). In such a situation, the zero-function [\mskip 1.0mu ]_{{\cal R}_{\mskip 2.0mu i}} plays a special role. A state-to-function transition s\lx@stackrel{{\scriptstyle\ell}}{{\rightarrowtail}}_{i}[\mskip 1.0mu ]_{{\cal R% }_{\mskip 2.0mu i}} reflects the absence of a non-trivial transition s\lx@stackrel{{\scriptstyle\ell}}{{\rightarrowtail}}_{i}v for v\neq[\mskip 1.0mu ]_{{\cal R}_{\mskip 2.0mu i}}. In the context of LTS one says that s has no \ell-transition. For the remainder of the paper, all FuTS we consider are assumed to be total and deterministic.111Definition 1 slightly differs in formulation from the one in [9].

Examples For the modeling of CCS processes, we choose a set of actions {\cal A} as label set and the booleans \mathbb{B} as semiring. Consider the two CCS processes P=a.b.\textbf{0}\,+\,a.c.\textbf{0} and Q=a.(b.\textbf{0}\,+\,c.\textbf{0}), their representation as a FuTS is depicted in Figure 1. For process P we have P\lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}[b.\textbf{0}\mapsto\texttt{% true},\,c.\textbf{0}\mapsto\texttt{true}], while the process Q we have Q\lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}[b.\textbf{0}\,+\,c.\textbf{% 0}\mapsto\texttt{true}]. So, FuTS are able to represent branching.

As another example of a simple FuTS, Figure 1 displays a FuTS over the action set {\cal A} and the semiring \mathbb{R}_{\geqslant 0} of the non-negative real numbers. The functions v_{0} to v_{4} used in the example have the property that \mathopen{\oplus\mskip 1.0mu }v_{\mskip 1.0mu i\mskip 1.0mu }(s)\>=\>1, for i=0\ldots 4. Usually, such a FuTS over \mathbb{R}_{\geqslant 0} is called a (reactive) probabilistic transition system.

In Section 6 we will provide semantics for the process language \textsl{IML}\mskip 1.0mu of interactive Markov chains [14, 17] using FuTS. Unlike many other stochastic process algebras, a single \textsl{IML}\mskip 1.0mu process can in general both perform action-based transitions and time-delays governed by exponential distributions.

Figure 1: FuTS for two CCS processes and a probabilistic process.

It will be notationally convenient to consider a (total and deterministic) FuTS as a tuple (\,S,\,\mathop{\langle\,}\mskip-2.0mu {\theta_{i}}\mathclose{\,\rangle}^{n}_{i% =1}\,) with transition functions \theta_{i}:S\to{\cal L}_{\mskip 2.0mu i}\to\mskip 1.0mu \mathrm{\mathcal{F}% \mskip-2.5mu \mathcal{S}}(\mskip 1.0mu \mskip 2.0mu S,{\cal R}_{\mskip 2.0mu i% }\mskip 2.0mu ), i=1\ldots n, rather than using the form (\,S,\,\mathop{\langle\,}\mskip-2.0mu {\lx@stackrel{{\scriptstyle}}{{% \rightarrowtail}}_{i}}\mathclose{\,\rangle}^{n}_{i=1}\,) that occurs more frequent for concrete examples in the literature. Alternatively, using disjoint unions, one could see a FuTS represented by a function \theta^{\prime}:S\to\bigoplus_{i=1}^{n}\>{\cal L}_{\mskip 2.0mu i}\to\bigoplus% _{i=1}^{n}\>\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1% .0mu S,{\cal R}_{\mskip 2.0mu i}\mskip 2.0mu ) satisfying the additional property that \theta^{\prime}(s)({\ell\mskip 2.0mu })\in\mskip 1.0mu \mathrm{\mathcal{F}% \mskip-2.5mu \mathcal{S}}(\mskip 1.0mu S,{\cal R}_{\mskip 2.0mu i}\mskip 2.0mu ) if \ell\in{\cal L}_{\mskip 2.0mu i}. As this fits less smoothly with the category-theoretical approach of Section 4, we stick to the former format. Note, an interpretation of a FuTS as a function S\to\bigoplus_{i=1}^{n}\>\bigl{(}\,{\cal L}_{\mskip 2.0mu i}\to\mskip 1.0mu % \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu S,{\cal R}_{\mskip 2% .0mu i}\mskip 2.0mu )\,\bigr{)} does not suit our purposes as the \textsl{IML}\mskip 1.0mu example above illustrates.

We will use the notation with transition functions \theta_{\mskip 1.0mu i\mskip 1.0mu }:S\to{\cal L}_{\mskip 2.0mu i}\to\mskip 1.% 0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu \mskip 2.0mu S,{% \cal R}_{\mskip 2.0mu i}\mskip 2.0mu ) to introduce the notion of bisimilarity for a FuTS.

Definition 2.

Let {\cal S}=(\,S,\,\mathop{\langle\,}\mskip-2.0mu {\theta_{i}}\mathclose{\,% \rangle}^{n}_{i=1}\,) be a FuTS over the label sets {\cal L}_{\mskip 2.0mu i} and semirings {\cal R}_{\mskip 2.0mu i}, i=1\ldots n. An equivalence relation R\subseteq S\times S is called an {\cal S}-bisimulation if R(s_{1},s_{2}) implies

\textstyle{\sum\,}_{t^{\prime}\in[{t}]_{R}}\;\theta_{i}\mskip 2.0mu (s_{1})(% \ell\mskip 2.0mu )(t^{\prime}\mskip 1.0mu )=\textstyle{\sum\,}_{t^{\prime}\in[% {t}]_{R}}\;\theta_{i}\mskip 2.0mu (s_{2})(\ell\mskip 2.0mu )(t^{\prime}\mskip 1% .0mu ) (1)

for all t\in S, i=1\ldots n and \ell\in{\cal L}_{\mskip 2.0mu i}. Two elements s_{1},s_{2}\in S are called {\cal S}-bisimilar if R(s_{1},s_{2}) for some {\cal S}-bisimulation R for {\cal S}. Notation s_{1}\sim_{{\cal S}}s_{2}. \bullet

We use the notation [{t}]_{R} to denote the equivalence class of t\in S with respect to R. Note that sums in equation (1) exist since the functions \theta_{i}\mskip 2.0mu (s_{j})(\ell\mskip 2.0mu )\in\mskip 1.0mu \mathrm{% \mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu \mskip 2.0mu S,{\cal R}_{% \mskip 2.0mu i}\mskip 2.0mu ), i=1\ldots n, j=1,2, are of finite support. Hence, \theta_{i}\mskip 2.0mu (s_{j})(\ell\mskip 2.0mu )(t^{\prime})=0\in{\cal R}_{% \mskip 2.0mu i} for all but finitely many t^{\prime}\in[{t}]_{R}\subseteq S.

For the combined FuTS of the two CCS-processes of Figure 1, the obvious equivalence relation relating b.\textbf{0} and b.\textbf{0}\,+\,c.\textbf{0} is not a FuTS-bisimulation. Although \textstyle{\sum\,}_{t^{\prime}\in[{\textbf{0}}]_{R}}\;\theta\mskip 1.0mu (b.% \textbf{0})(b)(t^{\prime})=\theta(b.\textbf{0})(b)(\textbf{0})=\texttt{true} and \textstyle{\sum\,}_{t^{\prime}\in[{\textbf{0}}]_{R}}\;\theta(b.\textbf{0}\,+\,% c.\textbf{0})(b)(t^{\prime})=\theta(b.\textbf{0}\,+\,c.\textbf{0})(b)(\textbf{% 0})=\texttt{true}, we have \textstyle{\sum\,}_{t^{\prime}\in[{\textbf{0}}]_{R}}\;\theta(b.\textbf{0})(c)(% t^{\prime})=\texttt{false}, while \textstyle{\sum\,}_{t^{\prime}\in[{\textbf{0}}]_{R}}\;\theta(b.\textbf{0}\,+\,% c.\textbf{0})(c)(t^{\prime})=\texttt{true}, taking sums, i.e. disjunctions, in \mathbb{B}.

4 FuTS coalgebraically

In this section we will cast FuTS in the framework of coalgebras and prove a correspondence result of FuTS-bisimulation and behavioral equivalence for a suitable functor on Set.

Definition 3.

Let {\cal L} be a set of labels and let {\cal R} be a semiring. The functor {\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.0mu }:\textbf{% Set}\to\textbf{Set} assigns to a set X the function space \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu X,{\cal R% }\mskip 2.0mu )^{\cal L} of all functions \varphi:{\cal L}\to\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(% \mskip 1.0mu X,{\cal R}\mskip 2.0mu ) and assigns to a function f:X\to Y the mapping {\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.0mu }({f\mskip 2% .0mu }):\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu% X,{\cal R}\mskip 2.0mu )^{\cal L}\to\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.% 5mu \mathcal{S}}(\mskip 1.0mu Y,{\cal R}\mskip 2.0mu )^{\cal L} where

{\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.0mu }({f\mskip 2% .0mu })(\varphi)({\ell\mskip 2.0mu })(y)=\textstyle{\sum\,}_{x^{\prime}\in f^{% \mskip-1.0mu -1}(y)}\ \varphi({\ell\mskip 2.0mu })(x^{\prime})

for all \varphi\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0% mu X,{\cal R}\mskip 2.0mu )^{\cal L}, \ell\in{\cal L} and y\in Y. \bullet

Again we rely on \varphi({\ell\mskip 2.0mu })\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu % \mathcal{S}}(\mskip 1.0mu X,{\cal R}\mskip 2.0mu ) having a finite support for the sum to exist and for {\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.0mu } being well-defined. In fact, we have \textsl{spt }(\,{\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0% .0mu }({f\mskip 2.0mu })(\varphi)({\ell\mskip 2.0mu })\,)=\{\,f(x)\mid x\in% \textsl{spt }(\varphi)({\ell\mskip 2.0mu })\,\}.

As we aim to compare our notion of bisimulation for FuTS with behavioral equivalence for the functor {\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.0mu }, given a set of labels {\cal L} and a semiring {\cal R}, we need to check that {\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.0mu } possesses a final coalgebra. We follow the approach of [6].

Lemma 3.

Let {\cal L} be a set of labels, {\cal R} a semiring. Then the functor {\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.0mu } on Set is bounded. ∎

Working with total and deterministic FuTS, we can interpret a FuTS {\cal S}=(\,S,\,\mathop{\langle\,}\mskip-2.0mu {\theta_{i}}\mathclose{\,% \rangle}^{n}_{i=1}\,) over the label sets {\cal L}_{\mskip 2.0mu i} and semirings {\cal R}_{\mskip 2.0mu i}, i=1\ldots n as a product \theta_{1}\times\cdots\times\theta_{n}:S\to\prod_{i=1}^{n}\>(\,{\cal L}_{% \mskip 2.0mu i}\to\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(% \mskip 1.0mu S,{\cal R}_{\mskip 2.0mu i}\mskip 2.0mu )\,) of functions \theta_{\mskip 1.0mu i\mskip 1.0mu }:S\to{\cal L}_{\mskip 2.0mu i}\to\mskip 1.% 0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu S,{\cal R}_{% \mskip 2.0mu i}\mskip 2.0mu ). To push this idea a bit further, we want to consider the FuTS {\cal S}=(\,{\cal S},\,\mathop{\langle\,}\mskip-2.0mu {\theta_{\mskip 1.0mu i% \mskip 1.0mu }}\mathclose{\,\rangle}^{n}_{i=1}\,) as a coalgebra of a suitable product functor on Set.

Definition 4.

Let {\cal S}=(\,S,\,\mathop{\langle\,}\mskip-2.0mu {\theta_{i}}\mathclose{\,% \rangle}^{n}_{i=1}\,) be a FuTS over the label sets {\cal L}_{\mskip 2.0mu i} and semirings {\cal R}_{\mskip 2.0mu i}, i=1..n. The functor {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu } on Set is defined by {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu }=\prod_{i=1}^{n}\>{\cal V}_{{\cal R% }_{\mskip 2.0mu i}}^{\mskip 1.0mu {\cal L}_{\mskip 2.0mu i}}=\prod_{i=1}^{n}\>% \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu {\,% \cdot\,},{\cal R}_{\mskip 2.0mu i}\mskip 2.0mu )^{{\cal L}_{\mskip 2.0mu i}}.

The point is, under conditions that are generally met, coalgebras come equipped with a natural notion of behavioral equivalence that can act as a reference for strong equivalences, in particular of bisimulation for FuTS. Below, see Theorem 5, we prove that {\cal S}-bisimilarity as given by Definition 2 coincides with behavioral equivalence for the functor {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu } as given by Definition 4, providing justification for the notion of equivalence defined on FuTS.

For the notion of behavioral equivalence for the functor {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu } obtained from {\cal S} to be defined, we establish that it possesses a final coalgebra.

Theorem 4.

The functor {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu } has a final coalgebra.

Proof.

By Lemma 3 we have that each factor {\cal V}_{{\cal R}_{\mskip 2.0mu i}}^{\mskip 1.0mu {\cal L}_{\mskip 2.0mu i}} of {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu } is bounded, and hence possesses a final coalgebra \Omega_{{\cal V}_{{\cal R}_{\mskip 2.0mu i}}^{\mskip 1.0mu {\cal L}_{\mskip 2.% 0mu i}}} by Theorem 2. It follows that also {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu } has a final coalgebra {\Omega_{\mskip 2.0mu {\cal S}}}. Writing [\![{\cdot}]\!]^{\mskip 2.0mu {\cal S}}_{X} for the final morphism of a {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu }-coalgebra X into {\Omega_{\mskip 2.0mu {\cal S}}}, we have

{\Omega_{\mskip 2.0mu {\cal S}}}=\Omega_{{\cal V}_{{\cal R}_{\mskip 2.0mu 1}}^% {\mskip 1.0mu {\cal L}_{\mskip 2.0mu 1}}}\times\cdots\times\Omega_{{\cal V}_{{% \cal R}_{\mskip 2.0mu n}}^{\mskip 1.0mu {\cal L}_{\mskip 2.0mu n}}}\quad\text{% and}\quad[\![{\cdot}]\!]^{\mskip 2.0mu {\cal S}}_{X}=[\![{\cdot}]\!]^{{\cal V}% _{{\cal R}_{\mskip 2.0mu 1}}^{\mskip 1.0mu {\cal L}_{\mskip 2.0mu 1}}}_{X}% \times\cdots\times\>[\![{\cdot}]\!]^{{\cal V}_{{\cal R}_{\mskip 2.0mu n}}^{% \mskip 1.0mu {\cal L}_{\mskip 2.0mu n}}}_{X}

as can be straightforwardly shown. ∎

Since the functor {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu } of a FuTS has a final coalgebra, we can speak of the behavioral equivalence \approx_{{\cal S}} induced by {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu }. Next we establish, for a FuTS {\cal S}, the correspondence of {\cal S}-bisimulation \sim_{{\cal S}} as given by Definition 2 and behavioral equivalence \approx_{{\cal S}}.

Theorem 5.

Let {\cal S}=(\,S,\,\mathop{\langle\,}\mskip-2.0mu {\theta_{i}}\mathclose{\,% \rangle}^{\,n}_{i=1}\,) be a FuTS over the label sets {\cal L}_{\mskip 2.0mu i} and semirings {\cal R}_{\mskip 2.0mu i}\mskip 1.0mu , i=1\ldots n. Then s_{1}\sim_{{\cal S}}s_{2}\Leftrightarrow s_{1}\approx_{{\cal S}}s_{2}, for all s_{1},s_{2}\in S.

Proof.

Let s_{1},s_{2}\in S. We first prove s_{1}\sim_{{\cal S}}s_{2}\Rightarrow s_{1}\approx_{{\cal S}}s_{2}. So, assume s_{1}\sim_{{\cal S}}s_{2}. Let R\subseteq S\times S be an {\cal S}-bisimulation with R(s_{1},s_{2}). Put \theta=\theta_{\mskip 0.0mu 1}\times\cdots\times\theta_{\mskip 1.0mu n}. Note (\mskip 1.0mu {S},\mskip 1.0mu {\theta\mskip 1.0mu }\mskip 1.0mu ) is a {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu }-coalgebra. We turn the collection of equivalence classes S/R into a {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu }-coalgebra (S/R,\theta_{R}) by putting

\theta^{\mskip 1.0mu i\mskip 1.0mu }_{R}(\,[{s}]_{R}\,)({\ell\mskip 2.0mu })(% \,[{t}]_{R}\,)=\textstyle{\sum}_{t^{\prime}\in[{t}]_{R}}\;\theta_{\mskip 1.0mu% i\mskip 1.0mu }(s)({\ell\mskip 2.0mu })(t^{\prime})\quad\text{and}\quad\theta% _{R}=\theta^{\mskip 2.0mu 1}_{R}\times\cdots\times\theta^{\mskip 2.0mu n}_{R}

for s,t\in S, \ell\in{\cal L}_{\mskip 2.0mu i}, i=1\ldots n. This is well-defined since R is an {\cal S}-bisimulation: if R(s,s^{\prime}) then we have \textstyle{\sum}_{t^{\prime}\in[{t}]_{R}}\;\theta_{\mskip 1.0mu i\mskip 1.0mu % }(s)({\ell\mskip 2.0mu })(t^{\prime})=\textstyle{\sum}_{t^{\prime}\in[{t}]_{R}% }\;\theta_{\mskip 1.0mu i\mskip 1.0mu }(s^{\prime})({\ell\mskip 2.0mu })(t^{% \prime}). The canonical mapping \varepsilon_{R}:S\to S/R is a {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu }-homomorphism: For i=1\ldots n, \ell\in{\cal L}_{\mskip 2.0mu i} and t\in S, we have both

\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu % \varepsilon_{R},{\cal R}_{\mskip 2.0mu i}\mskip 2.0mu )^{{\cal L}_{\mskip 2.0% mu i}}(\,\theta_{\mskip 1.0mu i\mskip 1.0mu }(s)\,)({\ell\mskip 2.0mu })([{t}]% _{R})=\textstyle{\sum\,}_{t^{\prime}\,\in\,[{t}]_{R}}\;\theta_{\mskip 1.0mu i% \mskip 1.0mu }(s)({\ell\mskip 2.0mu })(t^{\prime})\quad\text{and}\quad\theta^{% \mskip 3.0mu i}_{R}([{s}]_{R})({\ell\mskip 2.0mu })([{t}]_{R})=\textstyle{\sum% \,}_{t^{\prime}\,\in\,[{t}]_{R}}\;\theta_{\mskip 1.0mu i\mskip 1.0mu }(s)({% \ell\mskip 2.0mu })(t^{\prime})

Thus, \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu % \varepsilon_{R},{\cal R}_{\mskip 2.0mu i}\mskip 2.0mu )^{\cal L}_{\mskip 2.0mu% i}\mathop{\raisebox{0.5pt}{\scriptsize$\circ$}}\theta_{\mskip 1.0mu i\mskip 1% .0mu }=\theta^{\mskip 3.0mu i}_{R}\mathop{\raisebox{0.5pt}{\scriptsize$\circ$}% }\varepsilon_{R}. Since {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu }(\varepsilon_{R})=\prod_{i=1}^{n}% \>\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu % \varepsilon_{R},{\cal R}_{\mskip 2.0mu i}\mskip 2.0mu )^{{\cal L}_{\mskip 2.0% mu i}} it follows that \varepsilon_{R} is a {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu }-homomorphism. Therefore, by uniqueness of a final morphism, we have [\![{\cdot}]\!]^{\mskip 2.0mu {\cal S}}_{S}=[\![{\cdot}]\!]^{\mskip 2.0mu {% \cal S}}_{S/R}\mathop{\raisebox{0.5pt}{\scriptsize$\circ$}}\,\varepsilon_{R}. In particular, [\![{s_{1}}]\!]^{\mskip 2.0mu {\cal S}}_{S}=[\![{s_{2}}]\!]^{\mskip 2.0mu {% \cal S}}_{S} since \varepsilon_{R}(s_{1})=\varepsilon_{R}(s_{2}). Thus, s_{1}\approx_{{\cal S}}s_{2}.

For the reverse, i.e. s_{1}\approx_{{\cal S}}s_{2}\Rightarrow s_{1}\sim_{{\cal S}}s_{2}, assume s_{1}\approx_{{\cal S}}s_{2}, i.e. [\![{s_{1}}]\!]^{\mskip 2.0mu {\cal S}}_{S}=[\![{s_{2}}]\!]^{\mskip 2.0mu {% \cal S}}_{S}. Since the map [\![{\cdot}]\!]^{\mskip 2.0mu {\cal S}}_{S}:(\mskip 1.0mu {S},\mskip 1.0mu {% \theta\mskip 1.0mu }\mskip 1.0mu )\to(\mskip 1.0mu {{\Omega_{\mskip 2.0mu {% \cal S}}}},\mskip 1.0mu {\omega_{{\cal S}}}\mskip 1.0mu ) is a {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu }-homomorphism, the relation R_{{\cal S}} with R_{{\cal S}}(s^{\prime},s^{\prime\prime})\Leftrightarrow[\![{s^{\prime}}]\!]^{% \mskip 2.0mu {\cal S}}_{S}=[\![{s^{\prime\prime}}]\!]^{\mskip 2.0mu {\cal S}}_% {S} is an {\cal S}-bisimulation: Suppose R_{{\cal S}}(s^{\prime},s^{\prime\prime}), i.e. s^{\prime}\approx_{{\cal S}}s^{\prime\prime}, for some s^{\prime},s^{\prime\prime}\in{\cal S}. Assume \theta_{\Omega_{\mskip 2.0mu {\cal S}}}=\theta^{1}_{\Omega_{\mskip 2.0mu {\cal S% }}}\times\cdots\times\theta^{\mskip 2.0mu n}_{\Omega_{\mskip 2.0mu {\cal S}}}. Pick 1\leqslant i\leqslant n, \ell\in{\cal L}_{\mskip 2.0mu i}, t\in S. Put [\![{t}]\!]^{\mskip 2.0mu {\cal S}}_{S}=w\in{\Omega_{\mskip 2.0mu {\cal S}}}. Let [{t}]_{\mskip 2.0mu {\cal S}} denote the equivalence class of t in R_{{\cal S}}.

\begin{array}[]{rcll}\omit\span\omit\span\omit\span\omit\textstyle{\sum\,}_{t^% {\prime}\in[{t}]_{\mskip 2.0mu {\cal S}}}\;\theta_{\mskip 1.0mu i\mskip 1.0mu % }(s^{\prime})({\ell\mskip 2.0mu })(t^{\prime})\\ &=&\textstyle{\sum\,}_{t^{\prime}\in(\,[\![{\cdot}]\!]^{\mskip 2.0mu {\cal S}}% _{S}\,)^{\mskip 0.0mu -1}(w)}\;\theta_{\mskip 1.0mu i\mskip 1.0mu }(s^{\prime}% )({\ell\mskip 2.0mu })(t^{\prime})&\text{(by definition of~{}$R_{{\cal S}}$ % and~{}$w$)}\\ &=&\theta_{{\Omega_{\mskip 2.0mu {\cal S}}}}^{\mskip 1.0mu i\mskip 1.0mu }(\,[% \![{s^{\prime}}]\!]^{\mskip 2.0mu {\cal S}}_{S}\mskip 4.0mu \,)({\ell\mskip 2.% 0mu })(w)&\text{($\,[\![{\cdot}]\!]^{\mskip 2.0mu {\cal S}}_{S}$ is a ${\cal V% }_{\mskip-4.0mu {\cal S}\mskip 0.0mu }$-homomorphism)}\\ &=&\theta_{{\Omega_{\mskip 2.0mu {\cal S}}}}^{\mskip 1.0mu i\mskip 1.0mu }(\,[% \![{s^{\prime\prime}}]\!]^{\mskip 2.0mu {\cal S}}_{S}\,)({\ell\mskip 2.0mu })(% w)&\text{($s^{\prime}\approx_{{\cal S}}s^{\prime\prime}$ by assumption)}\\ &=&\textstyle{\sum\,}_{t^{\prime}\in(\,[\![{\cdot}]\!]^{\mskip 2.0mu {\cal S}}% _{S}\,)^{\mskip 0.0mu -1}(w)}\;\theta_{\mskip 1.0mu i\mskip 1.0mu }(s^{\prime% \prime})({\ell\mskip 2.0mu })(t^{\prime})&\text{($\,[\![{\cdot}]\!]^{\mskip 2.% 0mu {\cal S}}_{S}$ is a ${\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu }$-% homomorphism)}\\ &=&\textstyle{\sum\,}_{t^{\prime}\in[{t}]_{\mskip 2.0mu {\cal S}}}\;\theta_{% \mskip 1.0mu i\mskip 1.0mu }(s^{\prime\prime})({\ell\mskip 2.0mu })(t^{\prime}% )&\text{(by definition of~{}$R_{{\cal S}}$ and~{}$w$)}\end{array}

Thus, if R_{{\cal S}}(s^{\prime},s^{\prime\prime}) then \textstyle{\sum\,}_{t^{\prime}\in[{t}]_{\mskip 2.0mu {\cal S}}}\;\theta_{% \mskip 1.0mu i\mskip 1.0mu }(s^{\prime})({\ell\mskip 2.0mu })(t^{\prime})=% \textstyle{\sum\,}_{t^{\prime}\in[{t}]_{\mskip 2.0mu {\cal S}}}\;\theta_{% \mskip 1.0mu i\mskip 1.0mu }(s^{\prime\prime})({\ell\mskip 2.0mu })(t^{\prime}) for all i=1\ldots n, t\in S, \ell\in{\cal L}_{\mskip 2.0mu i} and R_{{\cal S}} is an {\cal S}-bisimulation. Since [\![{s_{1}}]\!]^{\mskip 2.0mu {\cal S}}_{S}=[\![{s_{2}}]\!]^{\mskip 2.0mu {% \cal S}}_{S}, it follows that R_{{\cal S}}(s_{1},s_{2}). Thus R_{{\cal S}} is an {\cal S}-bisimulation relating s_{1} and s_{2}. Conclusion, it holds that s_{1}\sim_{{\cal S}}s_{2}. ∎

5 FuTS Semantics of PEPA

Next we will consider a significant fragment of the process algebra PEPA [18], including the parallel operator implementing the scheme of so-called minimal apparent rates, and provide a FuTS semantics for it. We will show that PEPA’s notion of equivalence =_{\mathit{pepa}}\mskip 1.0mu , called strong equivalence in [18], fits with the bisimilarity \sim_{\mathit{pepa}} as arising from the FuTS semantics.

Definition 5.

The set {{\cal P}}_{\textsl{PEPA}} of PEPA processes is given by the BNF P\mathrel{\;\mbox{\emph{{::=}}}\;}\textbf{nil}\mid(a,\lambda).P\mid P+P\mid P% \mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P\mid X where a ranges over the set of actions {\cal A}, \lambda over \mathbb{R}_{>0}, A over the set of finite subsets of {\cal A}, and X over the set of constants {\cal X}. \bullet

PEPA, like many other stochastic process algebras (e.g. [16, 5]), couples actions and rates. The prefix (a,\lambda) of the process (a,\lambda).P expresses that the duration of the execution of the action a\in{\cal A} is sampled from an exponential distribution of rate \lambda. The parallel composition P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q of a process P and a process Q for a set of actions A\subseteq{\cal A} allows for the independent, asynchronous execution of actions of P and Q not occurring in the subset A, on the one hand, and requires the simultaneous, synchronized execution of P and Q for the actions occurring in A, on the other hand. The FuTS-semantics of the fragment of PEPA that we consider here, is given by the SOS of Figure 2, on which we comment below.

Characteristic for the PEPA language is the choice to model parallel composition, or cooperation in the terminology of PEPA, scaled by the minimum of the so-called apparent rates. By doing so, PEPA’s strong equivalence becomes a congruence [18]. Intuitively, the apparent rate r_{a}(P) of an action a for a process P is the sum of the rates of all possible a-executions for P. When considering the CSP-style parallel composition P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q, with cooperation set A, an action a occurring in A has to be performed by both P and Q. The rate of such an execution is governed by the slowest, on average, of the two processes in this respect.222One cannot take the slowest process per sample, because such an operation cannot be expressed as an exponential distribution in general. Thus r_{a}(\mskip 1.0mu P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0% mu }Q\mskip 1.0mu ) for a\in A is the minimum \mathrm{\textrm{min}}\{\,r_{a}(P),\,r_{a}(Q)\,\}. Now, if P schedules an execution of a with rate r_{1} and Q schedules a transition of a with rate r_{2}, in the minimal apparent rate scheme the combined execution yields the action a with rate r_{1}\cdot r_{2}\cdot\textsl{arf}\mskip 1.0mu (P,Q). Here, the ‘syntactic’ scaling factor \textsl{arf}\mskip 1.0mu (P,Q), the apparent rate factor, is defined by

\textsl{arf}\mskip 1.0mu (P,Q)=\begin{array}[]{c}\mathrm{\textrm{min}}\{\,r_{a% }(P),\,r_{a}(Q)\,\}\\ \hline r_{a}(P)\cdot r_{a}(Q)\end{array}

assuming r_{a}(P),r_{a}(Q)>0, otherwise \textsl{arf}\mskip 1.0mu (P,Q)=0. Thus, for P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q the minimum \mathrm{\textrm{min}}\{\,r_{a}(P),\,r_{a}(Q)\,\} of the apparent rates is adjusted by the relative probabilities r_{1}/r_{a}(P) and r_{2}/r_{a}(Q) for executing a by P and Q, respectively. See [18, Definition 3.3.1] (or the appendix) for an explicit definition of the apparent rate r_{a} of a PEPA-process.

\begin{array}[]{c}\mbox{{\normalsize(NIL${}_{\mbox{{\scriptsize}}}$)\ }}\begin% {array}[]{c}{\phantom{\lx@stackrel{{\scriptstyle\alpha}}{{\rightarrowtail}}_{p% }}}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{\textbf{nil}\,\lx@stackrel{{\scriptstyle\>\delta_{a% }}}{{\rightarrowtail}}_{p}\,[\mskip 1.0mu ]_{\mathbb{R}_{\geqslant 0}}}\end{% array}\qquad\mbox{{\normalsize(RAPF1${}_{\mbox{{\scriptsize}}}$)\ }}\begin{% array}[]{c}{\phantom{\lx@stackrel{{\scriptstyle\alpha}}{{\rightarrowtail}}_{p}% }}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{(a,\lambda).P\,\lx@stackrel{{\scriptstyle\>\delta_{% a}}}{{\rightarrowtail}}_{p}\,[P\mapsto\lambda]}\end{array}\qquad\mbox{{% \normalsize(RAPF2${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{b\neq a}% \rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{(a,\lambda).P\,\lx@stackrel{{\scriptstyle\>\delta_{% b}}}{{\rightarrowtail}}_{p}\,[\mskip 1.0mu ]_{\mathbb{R}_{\geqslant 0}}}\end{% array}\\ \mbox{{\normalsize(CHO${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{P\,% \lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}\,\mathcal{P}% \quad Q\,\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}\,% \mathcal{Q}}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\,+\,Q\ \lx@stackrel{{\scriptstyle\>\delta_{a}}}{{% \rightarrowtail}}_{p}\ \mathcal{P}\,+\,\mathcal{Q}}\end{array}\qquad\mbox{{% \normalsize(CNS${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{P\,% \lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}\,\mathcal{P}% \quad X:=P}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{X\,\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{% \rightarrowtail}}_{p}\,\mathcal{P}}\end{array}\\ \mbox{{\normalsize(PAR1${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{P\,% \lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}\,\mathcal{P}% \quad Q\,\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}\,% \mathcal{Q}\quad a\,\notin\,A}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }Q\ \lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{% p}\ (\,\mathcal{P}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu% }{\cal X}_{Q}\,)\,+\,(\,{\cal X}_{P}\mathbin{\mskip 2.0mu \parallel_{\mskip 1% .0mu A}\mskip 0.0mu }\mathcal{Q}\,)}\end{array}\qquad\mbox{{\normalsize(PAR2${% }_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{P\,\lx@stackrel{{\scriptstyle% \>\delta_{a}}}{{\rightarrowtail}}_{p}\,\mathcal{P}\quad Q\,\lx@stackrel{{% \scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}\,\mathcal{Q}\quad a\,\in\,A}% \rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }Q\ \lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{% p}\ \textsl{arf}\mskip 1.0mu (\mskip 1.0mu {\mathcal{P}},{\mathcal{Q}}\mskip 1% .0mu )\,\cdot\,(\,\mathcal{P}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }\mathcal{Q}\,)}\end{array}\end{array}

Figure 2: FuTS semantics for PEPA.

The FuTS we consider for the semantics of PEPA in Figure 2 involves a set of labels \Delta defined by \Delta=\{\,\>\delta_{a}\mid a\in{\cal A}\,\}. The symbol \>\delta_{a} denotes the execution of the action a, with a duration that is still to be established. The underlying semiring for the simple FuTS for PEPA is the semiring \mathbb{R}_{\geqslant 0} of non-negative reals.

Definition 6.

The FuTS {\cal S}_{\mathit{pepa}}=(\mskip 1.0mu {{{\cal P}}_{\textsl{PEPA}}},\mskip 1.0% mu {\lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{p}}\mskip 1.0mu ) over \Delta and \mathbb{R}_{\geqslant 0} has its transition relation given by the rules of Figure 2. \bullet

We discuss the rules of Figure 2. The FuTS semantics provides \textbf{nil}\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}[% \mskip 1.0mu ]_{\mathbb{R}_{\geqslant 0}}, for every action a, with [\mskip 1.0mu ]_{\mathbb{R}_{\geqslant 0}} the 0-function \lambda P.0 of \mathbb{R}_{\geqslant 0}. However, the latter expresses \theta_{\mathit{pepa}}(\textbf{nil})(\>\delta_{a})(P^{\prime})=0 for every a\in{\cal A} and P^{\prime}\in{{\cal P}}_{\textsl{PEPA}}, or, in standard terminology, nil has no transition. For the rated action prefix (a,\lambda) we distinguish two cases: (i) execution of the prefix in rule (RAPF1); (ii) no execution of the prefix in rule (RAPF2). In the case of rule (RAPF1) the label \>\delta_{a} signifies that the transition involves the execution of the action a. The continuation [\,P\mapsto\lambda\,] is the function that assigns the rate \lambda to the process P. All other processes are assigned 0, i.e. the zero-element of the semiring \mathbb{R}_{\geqslant 0}. In the second case, rule (RAPF2), for labels \>\delta_{b} with b\neq a, we do have a transition, but it is a degenerate one. The two rules for the prefix, in particular having the ‘null-continuation’ rule (RAPF2), support the unified treatment of the choice operator in rule (CHO) and the parallel operator in rules (PAR1) and (PAR2).

Note the semantic sum of functions \mathcal{P}\,+\,\mathcal{Q} replacing the syntactic sum in P\,+\,Q. The treatment of constants is as usual. Regarding the parallel operator \mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }, with respect to some subset of actions A\subseteq{\cal A}, the so-called cooperation set, there are again two rules. Now the distinction is between interleaving and synchronization. In the case of a label \>\delta_{a} involving an action a not in the subset A, either the P-operand or the Q-operand of P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q makes progress. For example, the effect of the pattern \mathcal{P}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }{\cal X% }_{Q} is that the value \mathcal{P}(P^{\prime})\cdot 1 is assigned to a process P^{\prime}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q, the value \mathcal{P}(P^{\prime})\cdot 0=0 to a process P^{\prime}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q^{\prime} for some Q^{\prime}\neq Q, and the value 0 for a process not of the form P^{\prime}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q^{\prime}. Here, as in all other rules, the right-hand sides of the transitions only involve functions in \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu {{\cal P% }}_{\textsl{PEPA}},\mathbb{R}_{\geqslant 0}\mskip 2.0mu ) and operators on them.

For the synchronization case of the parallel construct, assuming P\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}\mathcal{P} and Q\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}\mathcal{Q}, the ‘semantic’ scaling factor \textsl{arf}\mskip 1.0mu (\mathcal{P},\mathcal{Q}) is applied to \mathcal{P}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }% \mathcal{Q}\, (with \mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu } on \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu {{\cal P% }}_{\textsl{PEPA}},\mathbb{R}_{\geqslant 0}\mskip 2.0mu ) induced by \mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu } on {{\cal P}}_{\textsl{PEPA}}). This scaling factor, defined for functions in \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu {{\cal P% }}_{\textsl{PEPA}},\mathbb{R}_{\geqslant 0}\mskip 2.0mu ), is given by

\textsl{arf}\mskip 1.0mu (\mskip 1.0mu \mathcal{P},\,\mathcal{Q}\mskip 1.0mu )% =\begin{array}[]{c}\mathrm{\textrm{min}}\mskip 2.0mu \{\,\mathopen{\oplus% \mskip 1.0mu }\mathcal{P},\,\mathopen{\oplus\mskip 1.0mu }\mathcal{Q}\,\}\\ \hline\mathopen{\oplus\mskip 1.0mu }\mathcal{P}\cdot\mathopen{\oplus\mskip 1.0% mu }\mathcal{Q}\end{array}

provided \mathopen{\oplus\mskip 1.0mu }\mathcal{P},\mathopen{\oplus\mskip 1.0mu }% \mathcal{Q}>0, and \textsl{arf}\mskip 1.0mu (\mskip 1.0mu \mathcal{P},\,\mathcal{Q}\mskip 1.0mu )=0 otherwise. This results for \textsl{arf}\mskip 1.0mu (\mskip 1.0mu {\mathcal{P}},{\mathcal{Q}}\mskip 1.0mu% )\,\cdot\,(\,\mathcal{P}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }\mathcal{Q}\,), for a process R=R_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }R_{2}, in the value \textsl{arf}\mskip 1.0mu (\mskip 1.0mu \mathcal{P},\,\mathcal{Q}\mskip 1.0mu )% \cdot(\,\mathcal{P}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0% mu }\mathcal{Q}\,)(R_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0% .0mu }R_{2})=\textsl{arf}\mskip 1.0mu (\mskip 1.0mu \mathcal{P},\,\mathcal{Q}% \mskip 1.0mu )\cdot\mathcal{P}(R_{1})\cdot\mathcal{Q}(R_{2}).

The following lemma establishes the relationship between the ‘syntactic’ and ‘semantic’ apparent rate factors defined on processes and on continuation functions, respectively.

Lemma 6.

Let P\in{{\cal P}}_{\textsl{PEPA}} and a\in{\cal A}. Suppose P\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}\mathcal{P}. Then r_{a}(P)=\mathopen{\oplus\mskip 1.0mu }\mathcal{P}. ∎

The proof of the lemma is straightforward. It is also easy to prove, by guarded induction, that the FuTS {\cal S}_{\mathit{pepa}} given by Definition 6 is total and deterministic. So, it is justified to write {\cal S}_{\mathit{pepa}}=(\mskip 1.0mu {{{\cal P}}_{\textsl{PEPA}}},\mskip 1.0% mu {\theta_{\mathit{pepa}}}\mskip 1.0mu ). We use \sim_{\mathit{pepa}} to denote the bisimilarity induced by {\cal S}_{\mathit{pepa}}.

Lemma 7.

The FuTS {\cal S}_{\mathit{pepa}} is total and deterministic. ∎

Example To illustrate the ease to deal with multiplicities in the FuTS semantics, consider the PEPA processes P_{1}=(a,\lambda).P and P_{2}=(a,\lambda).P+(a,\lambda).P for some P\in{{\cal P}}_{\textsl{PEPA}}. We have P_{1}\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}[\,P% \mapsto\lambda\,] by rule (RAPF1), but P_{2}\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}[\,P% \mapsto 2\lambda\,] by rule (RAPF1) and rule (CHO). The latter makes us to compute [\,P\mapsto\lambda\,]+[\,P\mapsto\lambda\,], which equals [\,P\mapsto 2\lambda\,]. Thus, in particular we have P_{1}\mathrel{\not{\sim}_{\mathit{pepa}}}P_{2}. Intuitively it is clear that, in general we cannot have P+P\sim P for any reasonable quantitative process equivalence \sim in the Markovian setting. Having twice as many a-labelled transitions, the average number for (a,\lambda).P+(a,\lambda).P of executing the action a per time unit is double the average of executing a for (a,\lambda).P.

The standard operational semantics of PEPA [18, 19] is given in Figure 3. The transition relation {\lx@stackrel{{\scriptstyle}}{{\rightarrow}}}\subseteq{{\cal P}}_{\textsl{PEPA% }}\times(\,{\cal A}\times\mathbb{R}_{>0}\,)\times{{\cal P}}_{\textsl{PEPA}} is the least relation satisfying the rules. For a proper treatment of the rates, the transition relation is considered as a multi-transition system, where also the number of possible derivations of a transition P\lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}P^{\prime} matters. We stress that such bookkeeping is not needed in the FuTS-approach at all. In rule (PAR2) we use the ‘syntactic’ apparent rate factor for PEPA processes.

\begin{array}[]{c}\mbox{{\normalsize(RAPF${}_{\mbox{{\scriptsize}}}$)\ }}% \begin{array}[]{c}{\phantom{\lx@stackrel{{\scriptstyle\alpha}}{{% \rightarrowtail}}_{p}}}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{(a,\lambda).P\,\lx@stackrel{{\scriptstyle a,\lambda% }}{{\rightarrow}}P}\end{array}\qquad\mbox{{\normalsize(CHO1${}_{\mbox{{% \scriptsize}}}$)\ }}\begin{array}[]{c}{P\,\lx@stackrel{{\scriptstyle a,\lambda% }}{{\rightarrow}}\,P^{\prime}}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\,+\,Q\ \lx@stackrel{{\scriptstyle a,\lambda}}{{% \rightarrow}}P^{\prime}}\end{array}\qquad\mbox{{\normalsize(CHO2${}_{\mbox{{% \scriptsize}}}$)\ }}\begin{array}[]{c}{Q\,\lx@stackrel{{\scriptstyle a,\lambda% }}{{\rightarrow}}\,Q^{\prime}}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\,+\,Q\ \lx@stackrel{{\scriptstyle a,\lambda}}{{% \rightarrow}}P^{\prime}}\end{array}\\ \mbox{{\normalsize(PAR1a${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{P\,% \lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}\,P^{\prime}\quad a\,% \notin\,A}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }Q\ \lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}P^{% \prime}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q}\end{% array}\qquad\mbox{{\normalsize(PAR1b${}_{\mbox{{\scriptsize}}}$)\ }}\begin{% array}[]{c}{Q\,\lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}Q^{\prime}% \quad a\,\notin\,A}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }Q\ \lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}\ P% \mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q^{\prime}}\end{% array}\qquad\mbox{{\normalsize(CNS${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array% }[]{c}{P\,\lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}\,P^{\prime}% \quad X:=P}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{X\,\lx@stackrel{{\scriptstyle a,\lambda}}{{% \rightarrow}}\,P^{\prime}}\end{array}\\ \mbox{{\normalsize(PAR2${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{P\,% \lx@stackrel{{\scriptstyle a,\lambda_{1}}}{{\rightarrow}}\,P^{\prime}\quad Q\,% \lx@stackrel{{\scriptstyle a,\lambda_{2}}}{{\rightarrow}}\,Q^{\prime}\quad a\,% \in\,A}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }Q\ \lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}\ P^{% \prime}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q^{\prime% }}\end{array}\quad\text{$\lambda=\textsl{arf}\mskip 1.0mu (\mskip 1.0mu {P},{Q% }\mskip 1.0mu ){\cdot}\lambda_{1}{\cdot}\lambda_{2}$}\end{array}

Figure 3: Standard semantics for PEPA.

The so-called total conditional transition rate q[P,C,a] of a PEPA-process [18, 19] for a subset of processes C\subseteq{{\cal P}}_{\textsl{PEPA}} and a\in{\cal A} is given by q[P,C,a]=\textstyle{\sum\,}_{Q\in C}\;\sum\mathopen{\{\mskip-2.25mu |\mskip 2.% 25mu }\,\lambda\mid P\lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}Q\,% \mathclose{\mskip 2.0mu |\!\}}. Here, \mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,P\lx@stackrel{{\scriptstyle a,% \lambda}}{{\rightarrow}}Q\,\mathclose{\mskip 2.0mu |\!\}} is the multiset of transitions P\lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}Q and \mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P\lx@stackrel{{% \scriptstyle a,\lambda}}{{\rightarrow}}Q\,\mathclose{\mskip 2.0mu |\!\}} is the multiset of all \lambda’s involved. The multiplicity of P\lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}Q is the number of different ways the transition can be derived using the rules of Figure 3. We are now ready to define PEPA’s notion of strong equivalence [18, 19].

Definition 7.

An equivalence relation R\subseteq{{\cal P}}_{\textsl{PEPA}}\times{{\cal P}}_{\textsl{PEPA}} is called a strong equivalence if q[P_{1},[{Q}]_{R},a]=q[P_{2},[{Q}]_{R},a] for all P_{1},P_{2}\in{{\cal P}}_{\textsl{PEPA}} such that R(P_{1},P_{2}), all Q\in{{\cal P}}_{\textsl{PEPA}} and all a\in{\cal A}. Two processes P_{1},P_{2}\in{{\cal P}}_{\textsl{PEPA}} are strongly equivalent if R(P_{1},P_{2}) for a strong equivalence R, notation P_{1}=_{\mathit{pepa}}P_{2}. \bullet

The next lemma couples, for a PEPA-process P, an action a and a function \mathcal{P}\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1% .0mu {{\cal P}}_{\textsl{PEPA}},\mathbb{R}_{\geqslant 0}\mskip 2.0mu ), the evaluation \mathcal{P}(P^{\prime}) with respect to the FuTS-semantics to the cumulative rate for P of reaching P^{\prime} by a transition involving the label a in the standard operational semantics.

Lemma 8.

Let P\in{{\cal P}}_{\textsl{PEPA}} and a\in{\cal A}. Suppose P\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}\mathcal{P}. Then it holds that \mathcal{P}(P^{\prime})=\textstyle{\sum\,}\;\mathopen{\{\mskip-2.25mu |\mskip 2% .25mu }\,\lambda\mid P\lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}P^{% \prime}\,\mathclose{\mskip 2.0mu |\!\}} for all P^{\prime}\in{{\cal P}}_{\textsl{PEPA}}. ∎

With the lemma in place we can prove the following correspondence result for {\cal S}_{\mathit{pepa}}-bisimilarity with respect to the FuTS for PEPA of Definition 6 and strong equivalence as given by Definition 7.

Theorem 9.

For any two PEPA-processes P_{1},P_{2}\in{{\cal P}}_{\textsl{PEPA}} it holds that P_{1}\sim_{\mathit{pepa}}P_{2} iff P_{1}=_{\mathit{pepa}}P_{2}.

Proof.

Let R be an equivalence relation on {{\cal P}}_{\textsl{PEPA}}. Choose P,Q\in{{\cal P}}_{\textsl{PEPA}} and a\in{\cal A}. Suppose P\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}\mathcal{P}. Thus \theta_{\mathit{pepa}}(P)(\>\delta_{a})=\mathcal{P}. We have

\begin{array}[t]{rcll}q[P,[{Q}]_{R},a]&=&\textstyle{\sum\,}_{Q^{\prime}\in[{Q}% ]_{R}}\;\textstyle{\sum\,}\mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda% \mid P\lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}Q^{\prime}\,% \mathclose{\mskip 2.0mu |\!\}}&\text{(by definition $q[P,[{Q}]_{R},a]$}\\ &=&\textstyle{\sum\,}_{Q^{\prime}\in[{Q}]_{R}}\;\mathcal{P}(Q^{\prime})&\text{% (by Lemma~{}\ref{lm-cnt-ltfs-match})}\\ &=&\textstyle{\sum\,}_{Q^{\prime}\in[{Q}]_{R}}\;\theta_{\mathit{pepa}}(P)(a)(Q% ^{\prime})&\text{(by definition $\theta_{\mathit{pepa}}$)}\end{array}

Therefore, for PEPA-processes P_{1} and P_{2} it holds that q[P_{1},[{Q}]_{R},a]=q[P_{2},[{Q}]_{R},a] for all Q\in{{\cal P}}_{\textsl{PEPA}}, a\in{\cal A} iff \textstyle{\sum\,}_{Q^{\prime}\in[{Q}]_{R}}\;\theta_{\mathit{pepa}}(P_{1})(a)(% Q^{\prime})=\textstyle{\sum\,}_{Q^{\prime}\in[{Q}]_{R}}\;\theta_{\mathit{pepa}% }(P_{2})(a)(Q^{\prime}) for all Q\in{{\cal P}}_{\textsl{PEPA}}, a\in{\cal A}. Thus, the equivalence relation R is a strong equivalence iff R is an {\cal S}_{\mathit{pepa}}-bisimulation, from which the theorem follows. ∎

In view of our general correspondence result Theorem 5, the above theorem shows that PEPA’s strong equivalence =_{\mathit{pepa}} is a behavioral equivalence, viz. behavioral equivalence \approx_{\mathit{pepa}} with respect to the functor of {\cal S}_{\mathit{pepa}}, and that its standard, FuTS and coalgebraic semantics coincide.

6 FuTS Semantics of \textsl{IML}\mskip 1.0mu

In this section we provide a FuTS semantics for a relevant part of the language of \textsl{IMC}\mskip 1.0mu  [14]. \textsl{IMC}\mskip 1.0mu , Interactive Markov Chains, are automata that combine two types of transitions: interactive transitions that involve the execution of actions and Markovian transitions that represent the progress of time governed by exponential distribution. As a consequence, \textsl{IMC}\mskip 1.0mu embody both non-deterministic and stochastic behaviour. System analysis using \textsl{IMC}\mskip 1.0mu proves to be a powerful approach because of the orthogonality of qualitative and quantitative dynamics, their logical underpinning and tool support. A number of equivalences, both strong and weak, are available for \textsl{IMC}\mskip 1.0mu  [11]. In our treatment here, dealing with a fragment we call \textsl{IML}\mskip 1.0mu , we do not deal with internal \tau-steps and focus on strong bisimulation.

Definition 8.

The set {{\cal P}}_{\textsl{IML}\mskip 1.0mu } of \textsl{IML}\mskip 1.0mu processes is given by the BNF P\mathrel{\;\mbox{\emph{{::=}}}\;}\textbf{nil}\mid a.P\mid\lambda.P\mid P+P% \mid P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P\mid X where a ranges over the set of actions {\cal A}, \lambda over \mathbb{R}_{>0}, A over the set of finite subsets of {\cal A} and X over the set of constants {\cal X}. \bullet

In \textsl{IML}\mskip 1.0mu there are separate prefix constructions for actions a.P and for time-delays \lambda.P. No restriction is imposed on the alternative and parallel composition of processes. For example, we have the process P=a.\lambda.\textbf{nil}\,+\,\mu.b.\textbf{nil} in \textsl{IML}\mskip 1.0mu . It should be noted that for \textsl{IMC}\mskip 1.0mu actions are considered to take no time.

Definition 9.

The formal semantics of {{\cal P}}_{\textsl{IML}\mskip 1.0mu } is given by the FuTS {\cal S}_{\mathit{iml}}=(\mskip 1.0mu {\,{{\cal P}}_{\textsl{IML}\mskip 1.0mu % }},\mskip 1.0mu {\lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{1}},\mskip 1% .0mu {\lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{2}}\mskip 1.0mu ) over the label sets {\cal A} and \Delta=\{\mskip 2.0mu \delta\mskip 2.0mu \} and the semirings \mathbb{B} and \mathbb{R}_{\geqslant 0} with transition relations {\lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{1}}\subseteq{{\cal P}}_{% \textsl{IML}\mskip 1.0mu }\times{\cal A}\times\mskip 1.0mu \mathrm{\mathcal{F}% \mskip-2.5mu \mathcal{S}}(\mskip 1.0mu {{\cal P}}_{\textsl{IML}\mskip 1.0mu },% \mathbb{B}\mskip 2.0mu ) and {\lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{2}}\subseteq{{\cal P}}_{% \textsl{IML}\mskip 1.0mu }\times\Delta\times\mskip 1.0mu \mathrm{\mathcal{F}% \mskip-2.5mu \mathcal{S}}(\mskip 1.0mu {{\cal P}}_{\textsl{IML}\mskip 1.0mu },% \mathbb{R}_{\geqslant 0}\mskip 2.0mu ) defined as the least relations satisfying the rules of Figure 4. \bullet

\begin{array}[]{c}\par\mbox{{\normalsize(NIL1${}_{\mbox{{\scriptsize}}}$)\ }}% \begin{array}[]{c}{a\in{\cal A}}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{\textbf{nil}\,\lx@stackrel{{\scriptstyle a}}{{% \rightarrowtail}}_{1}\,[\mskip 1.0mu ]_{\mathbb{B}}}\end{array}\par\qquad\par% \mbox{{\normalsize(NIL2${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{}% \rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{\textbf{nil}\,\lx@stackrel{{\scriptstyle\delta}}{{% \rightarrowtail}}_{2}\,[\mskip 1.0mu ]_{\mathbb{R}_{\geqslant 0}}}\end{array}% \par\qquad\par\mbox{{\normalsize(APF3${}_{\mbox{{\scriptsize}}}$)\ }}\begin{% array}[]{c}{}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{a.P\,\lx@stackrel{{\scriptstyle\delta}}{{% \rightarrowtail}}_{2}\,[\mskip 1.0mu ]_{\mathbb{R}_{\geqslant 0}}}\end{array}% \par\\ \par\mbox{{\normalsize(APF1${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{% }\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{a.P\,\lx@stackrel{{\scriptstyle a}}{{% \rightarrowtail}}_{1}\,[P\mapsto\texttt{true}]}\end{array}\par\quad\par\mbox{{% \normalsize(APF2${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{b\neq a}% \rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{a.P\,\lx@stackrel{{\scriptstyle b}}{{% \rightarrowtail}}_{1}\,[\mskip 1.0mu ]_{\mathbb{B}}}\end{array}\par\quad\par% \mbox{{\normalsize(RPF1${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{a\in% {\cal A}}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{\lambda.P\,\lx@stackrel{{\scriptstyle a}}{{% \rightarrowtail}}_{1}\,[\mskip 1.0mu ]_{\mathbb{B}}}\end{array}\par\quad\par% \mbox{{\normalsize(RPF2${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{}% \rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{\lambda.P\,\lx@stackrel{{\scriptstyle\delta}}{{% \rightarrowtail}}_{2}\,[P\mapsto\lambda]}\end{array}\par\\ \par\mbox{{\normalsize(PAR1${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{% P\,\lx@stackrel{{\scriptstyle\alpha}}{{\rightarrowtail}}_{i}\,\mathcal{P}\quad Q% \,\lx@stackrel{{\scriptstyle\alpha}}{{\rightarrowtail}}_{i}\,\mathcal{Q}\quad% \alpha\notin A}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }Q\ \lx@stackrel{{\scriptstyle\alpha}}{{\rightarrowtail}}_{i}\ (% \,\mathcal{P}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }{% \cal X}^{\mskip 2.0mu i}_{\mskip-2.0mu Q}\,)\,+\,(\,{\cal X}^{\mskip 2.0mu i}_% {\mskip-2.0mu P}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }% \mathcal{Q}\,)}\end{array}(i=1,2)\par\qquad\par\mbox{{\normalsize(PAR2${}_{% \mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{P\,\lx@stackrel{{\scriptstyle a}% }{{\rightarrowtail}}_{1}\,\mathcal{P}\quad Q\,\lx@stackrel{{\scriptstyle a}}{{% \rightarrowtail}}_{1}\,\mathcal{Q}\quad a\in A}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }Q\ \lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}_{1}\ % \mathcal{P}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }% \mathcal{Q}}\end{array}\par\\ \par\mbox{{\normalsize(CHO${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{P% \,\lx@stackrel{{\scriptstyle\alpha}}{{\rightarrowtail}}_{i}\,\mathcal{P}\quad Q% \,\lx@stackrel{{\scriptstyle\alpha}}{{\rightarrowtail}}_{i}\,\mathcal{Q}}\rule% {0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\,+\,Q\ \lx@stackrel{{\scriptstyle\alpha}}{{% \rightarrowtail}}_{i}\ \mathcal{P}\,+\,\mathcal{Q}}\end{array}(i=1,2)\par% \qquad\par\mbox{{\normalsize(CON${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[% ]{c}{P\,\lx@stackrel{{\scriptstyle\alpha}}{{\rightarrowtail}}_{i}\,\mathcal{P}% \quad X:=P}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{X\,\lx@stackrel{{\scriptstyle\alpha}}{{% \rightarrowtail}}_{i}\,\mathcal{P}}\end{array}(i=1,2)\par\end{array}

Figure 4: FuTS semantics for \textsl{IML}\mskip 1.0mu .

To accommodate for action-based and delay-related transitions, the FuTS {\cal S}_{\mathit{iml}} is non-simple, having the two transition-to-function relations \lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{1} and \lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{2}. Actions a\in{\cal A} decorate \lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{1}, the special symbol \delta decorates \lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{2}. Note rule (APF3) and rule (RPF1) that involve the null-functions of \mathbb{R}_{\geqslant 0} and of \mathbb{B}, respectively, to express that a process a.P does not trigger a delay and a process \lambda.P does not execute an action. For the parallel construct \mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }, interleaving applies both for non-synchronized actions a\notin A as well as for delays (but not mixed). Therefore, rule (PAR1) pertains to both \lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{1} and \lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{2}, with \alpha ranging over {\cal A}\cup\Delta. The same holds for non-deterministic choice, rule (CHO), and constants, rule (CON). Finally, \textsl{IML}\mskip 1.0mu does not provide synchronization of delays in the parallel construct. Rule (PAR2) only concerns the transition relation \lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{2}. In rule (PAR1), for clarity, we decorated the characteristic functions, writing {\cal X}^{\mskip 1.0mu i\mskip 1.0mu }_{\mskip-1.0mu P}\mskip 1.0mu , for i=1,2, for {\cal X}_{\mskip-1.0mu P}=[\,P\mapsto\texttt{true}\,] in \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu {{\cal P% }}_{\textsl{IML}\mskip 1.0mu },\mathbb{B}\mskip 2.0mu ) and {\cal X}_{\mskip-1.0mu P}=[\,P\mapsto 1\,] in \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu {{\cal P% }}_{\textsl{IML}\mskip 1.0mu },\mathbb{R}_{\geqslant 0}\mskip 2.0mu ).

Example Assume X:=a.\lambda.b.X and Y:=a.\mu.b.Y. Put A=\{a,b\}. Then we have

\begin{array}[]{r@{\, \prlA\,}l@{\;}c@{\;}l@{\,}r@{\, \prlA\,}l@{\,}lcr@{\, % \prlA\,}l@{\;}c@{\;}l@{\,}r@{\, \prlA\,}l@{\;}l}X\,\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\,&Y\;&\lx@stackrel{{\scriptstyle a}}{% {\rightarrowtail}}_{1}\;&[\,&\lambda.b.X\,\mathbin{\mskip 2.0mu \parallel_{% \mskip 1.0mu A}\mskip 0.0mu }\,&\mu.b.Y\,&\mapsto\texttt{true}\,]&&\lambda.b.X% \,\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\,&\mu.b.Y\;&% \lx@stackrel{{\scriptstyle\delta}}{{\rightarrowtail}}_{2}\;&[\,&b.X\,\mathbin{% \mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\,&\mu.b.Y\;&\mapsto% \lambda,\ \lambda.b.X\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.% 0mu }b.Y\mapsto\mu\,]\\ b.X\,\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\,&b.Y\;&% \lx@stackrel{{\scriptstyle b}}{{\rightarrowtail}}_{1}\;&[\,&X\,\mathbin{\mskip 2% .0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\,&Y\,&\mapsto\texttt{true}\,]&&b% .X\,\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\,&\mu.b.Y\;% &\lx@stackrel{{\scriptstyle\delta}}{{\rightarrowtail}}_{2}\;&[\,&b.X\,\mathbin% {\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\,&b.Y\;&\mapsto\mu\,]\\ \omit\span\omit\span\omit\span\omit\span\omit&\,&&&\lambda.b.X\,\mathbin{% \mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\,&b.Y\;&\lx@stackrel{{% \scriptstyle\delta}}{{\rightarrowtail}}_{2}\;&[\,&b.X\,\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\,&b.Y\;&\mapsto\lambda\,]\end{array}

It is not difficult to verify that {\cal S}_{\mathit{iml}} is a total and deterministic FuTS. Below we use {\cal S}_{\mathit{iml}}=(\mskip 1.0mu {{{\cal P}}_{\textsl{IML}\mskip 1.0mu }}% ,\mskip 1.0mu {\theta_{1}},\mskip 1.0mu {\theta_{2}}\mskip 1.0mu ) and write \sim_{\mathit{iml}} for the associated bisimilarity.

Lemma 10.

The FuTS {\cal S}_{\mathit{iml}} is total and deterministic. ∎

The standard SOS semantics of \textsl{IML}\mskip 1.0mu  [14] is given in Figure 5 involving the transition relations

{\lx@stackrel{{\scriptstyle}}{{\rightarrow}}}\subseteq{{\cal P}}_{\textsl{IML}% \mskip 1.0mu }\times{\cal A}\times{{\cal P}}_{\textsl{IML}\mskip 1.0mu }\qquad% \text{and}\qquad{\lx@stackrel{{\scriptstyle}}{{\dashrightarrow}}}\subseteq{{% \cal P}}_{\textsl{IML}\mskip 1.0mu }\times\mathbb{R}_{>0}\times{{\cal P}}_{% \textsl{IML}\mskip 1.0mu }

Below we will use the functions T and R based on \lx@stackrel{{\scriptstyle}}{{\rightarrow}} and \lx@stackrel{{\scriptstyle}}{{\dashrightarrow}}, cf. [17]. We have \textbf{T}\colon{{\cal P}}_{\textsl{IML}\mskip 1.0mu }\times{\cal A}\times{% \textbf{2}}^{{{\cal P}}_{\textsl{IML}\mskip 1.0mu }}\to\mathbb{B} given by \textbf{T}(P,a,C)=\texttt{true} if the set \{\,P^{\prime}\in C\mid P\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}P^{% \prime}\,\} is non-empty, for all P\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu }, a\in{\cal A} and any subset C\subseteq{{\cal P}}_{\textsl{IML}\mskip 1.0mu }. For \textbf{R}\colon{{\cal P}}_{\textsl{IML}\mskip 1.0mu }\times{{\cal P}}_{% \textsl{IML}\mskip 1.0mu }\to\mathbb{R}_{\geqslant 0} we put \textbf{R}(P,P^{\prime})=\textstyle{\sum\,}\mathopen{\{\mskip-2.25mu |\mskip 2% .25mu }\,\lambda\mid P\lx@stackrel{{\scriptstyle\lambda}}{{\dashrightarrow}}P^% {\prime}\,\mathclose{\mskip 2.0mu |\!\}}. Here, as common for probabilistic and stochastic process algebras, the comprehension is over the multiset of transitions leading from P to P^{\prime} with label \lambda. We extend R to {{\cal P}}_{\textsl{IML}\mskip 1.0mu }\times{\textbf{2}}^{{{\cal P}}_{\textsl{% IML}\mskip 1.0mu }} by \textbf{R}(P,C)=\textstyle{\sum\,}_{P^{\prime}\,\in\,C}\;\textstyle{\sum\,}% \mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P\lx@stackrel{{% \scriptstyle\lambda}}{{\dashrightarrow}}P^{\prime}\,\mathclose{\mskip 2.0mu |% \!\}}.

For \textsl{IML}\mskip 1.0mu we have the following notion of strong bisimulation [14, 17] that we will compare with the notion of bisimulation associated with the FuTS {\cal S}_{\mathit{iml}}.

\begin{array}[]{c}\par\mbox{{\normalsize(APF${}_{\mbox{{\scriptsize}}}$)\ }}% \begin{array}[]{c}{}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{a.P\,\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}% \,P}\end{array}\par\qquad\par\mbox{{\normalsize(CHO1${}_{\mbox{{\scriptsize}}}% $)\ }}\begin{array}[]{c}{P\,\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}\,R}% \rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\,+\,Q\,\lx@stackrel{{\scriptstyle a}}{{% \rightarrow}}\,R}\end{array}\par\qquad\par\mbox{{\normalsize(CHO2${}_{\mbox{{% \scriptsize}}}$)\ }}\begin{array}[]{c}{Q\,\lx@stackrel{{\scriptstyle a}}{{% \rightarrow}}\,R}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\,+\,Q\,\lx@stackrel{{\scriptstyle a}}{{% \rightarrow}}\,R}\end{array}\par\qquad\par\mbox{{\normalsize(CON1${}_{\mbox{{% \scriptsize}}}$)\ }}\begin{array}[]{c}{P\,\lx@stackrel{{\scriptstyle a}}{{% \rightarrow}}\,Q\quad X:=P}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{X\,\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}\,Q% }\end{array}\par\\ \par\mbox{{\normalsize(PAR1a${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}% {P\,\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}\,P^{\prime}\quad a\notin A}% \rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }Q\,\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}\ ,P^{\prime}% \mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q}\end{array}% \par\qquad\par\mbox{{\normalsize(PAR1b${}_{\mbox{{\scriptsize}}}$)\ }}\begin{% array}[]{c}{Q\,\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}\,Q^{\prime}\quad a% \notin A}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }Q\,\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}\,P\mathbin{% \mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q^{\prime}}\end{array}% \par\qquad\par\mbox{{\normalsize(PAR2${}_{\mbox{{\scriptsize}}}$)\ }}\begin{% array}[]{c}{P\,\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}\,P^{\prime}\quad Q% \,\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}\,Q^{\prime}\quad a\in A}\rule{% 0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }Q\,\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}\,P^{\prime}% \mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q^{\prime}}\end{% array}\par\\ \par\mbox{{\normalsize(RPF${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{}% \rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{\lambda.P\,\lx@stackrel{{\scriptstyle\lambda}}{{% \dashrightarrow}}\,P}\end{array}\par\qquad\par\mbox{{\normalsize(CHO3${}_{% \mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{P\,\lx@stackrel{{\scriptstyle% \lambda}}{{\dashrightarrow}}\,R}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\,+\,Q\,\lx@stackrel{{\scriptstyle\lambda}}{{% \dashrightarrow}}\,R}\end{array}\par\qquad\par\mbox{{\normalsize(CHO4${}_{% \mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{Q\,\lx@stackrel{{\scriptstyle% \lambda}}{{\dashrightarrow}}\,R}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\,+\,Q\,\lx@stackrel{{\scriptstyle\lambda}}{{% \dashrightarrow}}\,R}\end{array}\par\qquad\par\mbox{{\normalsize(CON2${}_{% \mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}{P\,\lx@stackrel{{\scriptstyle% \lambda}}{{\dashrightarrow}}\,Q\quad X:=P}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{X\,\lx@stackrel{{\scriptstyle\lambda}}{{% \dashrightarrow}}\,Q}\end{array}\par\\ \par\mbox{{\normalsize(PAR1c${}_{\mbox{{\scriptsize}}}$)\ }}\begin{array}[]{c}% {P\,\lx@stackrel{{\scriptstyle\lambda}}{{\dashrightarrow}}\,P^{\prime}}\rule{0% .0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }Q\,\lx@stackrel{{\scriptstyle\lambda}}{{\dashrightarrow}}\,P^{% \prime}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q}\end{% array}\par\qquad\par\mbox{{\normalsize(PAR1d${}_{\mbox{{\scriptsize}}}$)\ }}% \begin{array}[]{c}{Q\,\lx@stackrel{{\scriptstyle\lambda}}{{\dashrightarrow}}\,% Q^{\prime}}\rule{0.0pt}{15.0pt}\\ \hline\rule{0.0pt}{15.0pt}{P\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }Q\,\lx@stackrel{{\scriptstyle\lambda}}{{\dashrightarrow}}\,P% \mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q^{\prime}}\end{% array}\end{array}

Figure 5: Standard SOS rules for \textsl{IML}\mskip 1.0mu .
Definition 10.

An equivalence relation R\subseteq{{\cal P}}_{\textsl{IML}\mskip 1.0mu }\times{{\cal P}}_{\textsl{IML}% \mskip 1.0mu } is called a strong bisimulation for \textsl{IML}\mskip 1.0mu if, for all P_{1},P_{2}\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu } it holds that

  • for all a\in{\cal A} and Q\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu }: \textbf{T}(\mskip 1.0mu {P_{1}},\mskip 1.0mu {a},\mskip 1.0mu {[{Q}]_{R}}% \mskip 1.0mu )\iff\textbf{T}(\mskip 1.0mu {P_{2}},\mskip 1.0mu {a},\mskip 1.0% mu {[{Q}]_{R}}\mskip 1.0mu )

  • for all Q\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu }: \textbf{R}(\mskip 1.0mu {P_{1}},\mskip 1.0mu {[{Q}]_{R}}\mskip 1.0mu )\;=\;% \textbf{R}(\mskip 1.0mu {P_{2}},\mskip 1.0mu {[{Q}]_{R}}\mskip 1.0mu ).

for all P_{1},P_{2}\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu } such that R(P_{1},P_{2}). Two processes P_{1},P_{2}\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu } are called strongly bisimilar if R(P_{1},P_{2}) for a strong bisimulation R for \textsl{IML}\mskip 1.0mu , notation P_{1}=_{\mathit{iml}}P_{2}. \bullet

To establish the correspondence of FuTS bisimilarity \sim_{\mathit{iml}} for {\cal S}_{\mathit{iml}} of Definition 9 and strong bisimilarity =_{\mathit{iml}} for \textsl{IML}\mskip 1.0mu , we need to connect the state-to-function relation \lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{1} and the transition relation \lx@stackrel{{\scriptstyle}}{{\rightarrow}} as well as the state-to-function relation \lx@stackrel{{\scriptstyle}}{{\rightarrowtail}}_{2} and the transition relation \lx@stackrel{{\scriptstyle}}{{\dashrightarrow}}\,.

Lemma 11.
  • Let P\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu } and a\in{\cal A}. If P\lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}_{1}\mathcal{P} then P\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}P^{\prime}\iff\mathcal{P}(P^{% \prime})=\texttt{true}.

  • Let P\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu } . If P\lx@stackrel{{\scriptstyle\delta}}{{\rightarrowtail}}_{2}\mathcal{P} then \textstyle{\sum\,}\mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P% \lx@stackrel{{\scriptstyle\lambda}}{{\dashrightarrow}}P^{\prime}\,\mathclose{% \mskip 2.0mu |\!\}}=\mathcal{P}(P^{\prime}). ∎

We are now in a position to relate FuTS bisimulation and standard strong bisimulation for \textsl{IML}\mskip 1.0mu .

Theorem 12.

For any two processes P_{1},P_{2}\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu } it holds that P_{1}\sim_{\mathit{iml}}P_{2} iff P_{1}=_{\mathit{iml}}P_{2}.

Proof.

Let R be an equivalence relation on {{\cal P}}_{\textsl{IML}\mskip 1.0mu }. Pick P\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu }, a\in{\cal A} and choose any Q\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu }. Suppose P\lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}\mathcal{P}. Thus \theta_{1}(P)(a)=\mathcal{P}. Then we have

\begin{array}[]{rcll}\textbf{T}(\mskip 1.0mu {P},\mskip 1.0mu {a},\mskip 1.0mu% {[{Q}]_{R}}\mskip 1.0mu )&\Leftrightarrow&\exists Q^{\prime}\in[{Q}]_{R}% \colon P\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}Q^{\prime}&\text{(by % definition of $\textbf{T}$)}\\ &\Leftrightarrow&\exists Q^{\prime}\in[{Q}]_{R}\colon\mathcal{P}(Q^{\prime})=% \texttt{true}&\text{(by Lemma~{}\ref{lm-mtrans-trans}a)}\\ &\Leftrightarrow&\textstyle{\sum\,}_{Q^{\prime}\in[{Q}]_{R}}\;\theta_{1}(P)(a)% (Q)=\texttt{true}&\text{(by definition of $\theta_{1}$)}\end{array}

Note, summation in \mathbb{B} is disjunction. Likewise, on the quantitative side, we have

\begin{array}[]{rcll}\textbf{R}(\mskip 1.0mu {P},\mskip 1.0mu {[{Q}]_{R}}% \mskip 1.0mu )&=&\textstyle{\sum\,}_{Q^{\prime}\in[{Q}]_{R}}\;\textstyle{\sum% \,}\mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P\lx@stackrel{{% \scriptstyle\lambda}}{{\dashrightarrow}}Q^{\prime}\,\mathclose{\mskip 2.0mu |% \!\}}&\text{(by definition of $\textbf{R}$)}\\ &=&\textstyle{\sum\,}_{Q^{\prime}\in[{Q}]_{R}}\;\mathcal{P}(Q^{\prime}\mskip 1% .0mu )&\text{(by Lemma~{}\ref{lm-mtrans-trans}b)}\\ &=&\textstyle{\sum\,}_{Q^{\prime}\in[{Q}]_{R}}\;\theta_{2}(P)(\delta)(Q)&\text% {(by definition of $\theta_{2}$)}\end{array}

Combining the equations, we conclude that a strong bisimulation for \textsl{IML}\mskip 1.0mu is also a bisimulation for the FuTS {\cal S}_{\mathit{iml}}, and vice versa. From this the theorem follows. ∎

Again, as a corollary of the theorem above, we have for \textsl{IML}\mskip 1.0mu that its notion of strong bisimulation is coalgebraically underpinned, as it coincides, calling to Theorem 5 once more, with behavioral equivalence of the functor {\cal V}_{\mathit{iml}} induced by the FuTS {\cal S}_{\mathit{iml}}. As a consequence, the standard, FuTS and coalgebraic semantics for \textsl{IML}\mskip 1.0mu are all equal.

7 Concluding remarks

Total and deterministic labeled state-to-function transition systems, FuTS, are a convenient instrument to express the operational semantics of both qualitative and quantitative process languages. In this paper we have introduced the notion of bisimulation that arises from a FuTS, possibly involving multiple transition relations. A correspondence result, Theorem 5, relates the bisimulation of a FuTS {\cal S} to behavioral equivalence of the functor {\cal V}_{\mskip-4.0mu {\cal S}\mskip 0.0mu } that arises from the FuTS {\cal S} too. For two prototypical stochastic process languages based on PEPA and on \textsl{IMC}\mskip 1.0mu we have shown that the notion of stochastic bisimulation associated with these calculi, coincides with the notion of bisimulation of the corresponding FuTS. Using these FuTS as a stepping stone, the correspondence result bridges between the concrete notion of bisimulation for PEPA and \textsl{IMC}\mskip 1.0mu , and the coalgebraic notion of behavioral equivalence. Hence, from this perspective, the concrete notions are seen as the natural strong equivalence to consider.

It is shown in [6], in the context of weighted automata, that in general the type of functors \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu {\cdot}% ,{\cal R}\mskip 2.0mu ) may not preserve weak pullbacks and, therefore, the notions of coalgebraic bisimulation and of behavioral equivalence may not coincide. Essential for the construction in their setting is the fact that the sum of non-zero weights may add to weight 0. The same phenomenon prevents a general proof, along the lines of [29], for coalgebraic bisimulation and FuTS bisimulation to coincide. In the construction of a mediating morphism, going from FuTS bisimulation to coalgebraic bisimulation a denominator may be zero, hence a division undefined, in case the sum over an equivalence class cancels out. In the concrete case for [20], although no detailed proof is provided there, this will not happen with \mathbb{R}_{\geqslant 0} as underlying semiring. We expect that for semirings enjoying the property that for a sum x=x_{1}+\cdots+x_{n} it holds that x=0 iff x_{i}=0 for all i=1\ldots n, we will be able to prove that pullbacks are weakly preserved, and hence that coalgebraic bisimulation and behavioral equivalence are the same.

Obviously, Milner-type strong bisimulation [22, 23] and bisimulation for FuTS over \mathbb{B} coincide. Also, strong bisimulation of [18] involving, apart from the usual transfer conditions, the comparison of state information, viz. the apparent rates, can be treated with FuTS. Again the two notions of equivalence coincide. We expect to be able to deal with discrete time and so-called Markov automata as well. For dense time and general measures one may speculate that the use of functions of compact support with respect to a suitable topology may be fruitful. Future research needs to reveal under what algebraic conditions of the semirings, or similar structures, or the coalgebraic conditions on the format of the functors involved standard bisimulation, FuTS-bisimulation, coalgebraic bisimulation and behavioral equivalence will amount to similar identifications.

Acknowledgments The authors are grateful to Rocco De Nicola, Michele Loreti and Jan Rutten for fruitful discussions useful suggestions. DL and MM acknowledge support by EU Project n. 257414 Autonomic Service-Components Ensembles (ASCENS) and by CNR/RSTL Project XXL. This research has been conducted while EV was spending a sabbatical leave at the CNR/ISTI. EV gratefully acknowledges the hospitality and support during his stay in Pisa.

References

  • [1]
  • [2] C. Baier, B.R. Haverkort, H. Hermanns, J.-P. Katoen & M. Siegle, editors (2004): Validation of Stochastic Systems – A Guide to Current Research. LNCS 2925, doi:10.1007/b98484.
  • [3] J.W. de Bakker & E.P. de Vink (1996): Control Flow Semantics. The MIT Press.
  • [4] M. Bernardo (2007): A Survey of Markovian Behavioral Equivalences. In M. Bernardo & J. Hillston, editors: SFM 2007 Advanced Lectures, LNCS 4486, pp. 180–219, doi:10.1007/978-3-540-72522-0_5.
  • [5] M. Bernardo & R. Gorrieri (1998): A tutorial on EMPA: a theory of concurrent processes with non-determinism, priorities, probabilities and time. Theoretical Computer Science 202(1–2), pp. 1–54, doi:10.1016/S0304-3975(97)00127-8.
  • [6] F. Bonchi, M. Bonsangue, M. Boreale, J. Rutten & A. Silva (2011): A coalgebraic perspective on linear weighted automata. Technical Report SEN–1104, CWI. 31pp.
  • [7] M. Boreale (2009): Weighted Bisimulation in Linear Algebraic Form. In M. Bravetti & G. Zavattaro, editors: Proc. CONCUR 2009, LNCS 5710, pp. 163–177, doi:10.1007/978-3-642-04081-8_12.
  • [8] R. De Nicola, D. Latella, M. Loreti & M. Massink (2009): Rate-based Transition Systems for Stochastic Process Calculi. In S. Albers et al., editor: Proc. ICALP 2009, Part II, LNCS 5556, pp. 435–446, doi:10.1007/978-3-642-02930-1_36.
  • [9] R. De Nicola, D. Latella, M. Loreti & M. Massink (2011): State to function labelled transition systems: a uniform framework for defining stochastic process calculi. Technical Report ISTI-2011-TR-012, CNR/ISTI.
  • [10] R. De Nicola, D. Latella & M. Massink (2005): Formal modeling and quantitative analysis of Klaim-based mobile systems. In H. Haddad et al., editor: Proc. SAC 2005, ACM, pp. 428–435, doi:10.1145/1066677.1066777.
  • [11] C. Eisentraut, H. Hermanns & L. Zhang (2010): Concurrency and Composition in a Stochastic World. In P. Gastin & F. Laroussinie, editors: Proc. CONCUR 2010, LNCS 6269, pp. 21–39, doi:10.1007/978-3-642-15375-4_3.
  • [12] H.P. Gumm & T. Schröder (2001): Products of coalgebras. Algebra Universalis 46, pp. 163–185.
  • [13] H.P. Gumm & T. Schröder (2002): Coalgebras of bounded type. Mathematical Structures in Computer Science 12, pp. 565–578, doi:10.1017/S0960129501003590.
  • [14] H. Hermanns (2002): Interactive Markov Chains. LNCS 2428, doi:10.1007/3-540-45804-2.
  • [15] H. Hermanns, U. Herzog & J.-P. Katoen (2002): Process algebra for performance evaluation. Theoretical Computer Science 274(1–2), pp. 43–87, doi:10.1016/S0304-3975(00)00305-4.
  • [16] H. Hermanns, U. Herzog & V. Mertsiotakis (1998): Stochastic process algebras – between LOTOS and Markov chains. Computer Networks and ISDN Systems 30, pp. 901–924, doi:10.1016/S0169-7552(97)00133-5.
  • [17] H. Hermanns & J.-P. Katoen (2010): The How and Why of Interactive Markov Chains. In F.S. de Boer, M.M. Bonsangue, S. Hallerstede & M. Leuschel, editors: Proc. FMCO 2009, LNCS 6286, pp. 311–337, doi:10.1007/978-3-642-17071-3_16.
  • [18] J. Hillston (1996): A Compositional Approach to Performance Modelling. Distinguished Dissertations in Computer Science 12, Cambridge University Press.
  • [19] J. Hillston (2005): Process Algebras for Quantitative Analysis. In: Proc. LICS, Chicago, IEEE, pp. 239–248, doi:10.1109/LICS.2005.35.
  • [20] B. Klin & V. Sassone (2008): Structural Operational Semantics for Stochastic Process Calculi. In R.M. Amadio, editor: Proc. FoSSaCS 2008, LNCS 4962, pp. 428–442, doi:10.1007/978-3-540-78499-9_30.
  • [21] A. Kurz (2000): Logics for coalgebras and applications to computer science. Ph.D. thesis, LMU München.
  • [22] R. Milner (1980): A Calculus of Communicating Systems. LNCS 92, doi:10.1007/3-540-10235-3.
  • [23] D. Park (1981): Concurrency and Automata on Infinite Sequences. In: Proc. GI-Conference 1981, Karlsruhe, LNCS 104, pp. 167–183.
  • [24] C. Priami (1995): Stochastic \pi-calculus. The Computer Journal 38, pp. 578–589, doi:10.1093/comjnl/38.7.578.
  • [25] J.J.M.M. Rutten (2000): Universal coalgebra: a theory of systems. Theoretical Computer Science 249, pp. 3–80, doi:10.1016/S0304-3975(00)00056-6.
  • [26] A. Silva, F. Bonchi, M. Bonsangue & J. Rutten (2011): Quantitative Kleene coalgebras. Information and Computation 209(5), pp. 822–846, doi:10.1016/j.ic.2010.09.007.
  • [27] A. Sokolova (2011): Probabilistic systems coalgebraically: a survey. Theoretical Computer Science 412(38), pp. 5095–5110, doi:10.1016/j.tcs.2011.05.008.
  • [28] D. Turi & G.D. Plotkin (1997): Towards a Mathematical Operational Semantics. In: Proc. LICS 1997, Warsaw, IEEE, pp. 280–291, doi:10.1109/LICS.1999.782615.
  • [29] E.P. de Vink & J.J.M.M. Rutten (1999): Bisimulation for probabilistic transition systems: a coalgebraic approach. Theoretical Computer Science 221, pp. 271–293, doi:10.1016/S0304-3975(99)00035-3.

Appendix A Additional proofs

Additional proof for Section 2

Lemma 1. Let X be a set, {\cal R} a semiring and \mathbin{\mskip 1.0mu |\mskip 1.0mu } an injective binary operation on X. For \varphi,\psi\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(% \mskip 1.0mu X,{\cal R}\mskip 2.0mu ) it holds that \mathopen{\oplus\mskip 1.0mu }(\varphi\,+\,\psi)=\mathopen{\oplus\mskip 1.0mu % }\varphi\,+\,\mathopen{\oplus\mskip 1.0mu }\psi and \mathopen{\oplus\mskip 1.0mu }(\,\varphi\mathbin{\mskip 1.0mu |\mskip 1.0mu }% \psi\,)=(\mathopen{\oplus\mskip 1.0mu }\varphi)\ast(\mathopen{\oplus\mskip 1.0% mu }\psi).

Proof.

We verify \mathopen{\oplus\mskip 1.0mu }(\,\varphi\mathbin{\mskip 1.0mu |\mskip 1.0mu }% \psi\,)=(\mathopen{\oplus\mskip 1.0mu }\varphi)\ast(\mathopen{\oplus\mskip 1.0% mu }\psi) for arbitrary \varphi,\psi\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(% \mskip 1.0mu X,{\cal R}\mskip 2.0mu ).

\begin{array}[]{rcll}\omit\span\omit\span\omit(\mathopen{\oplus\mskip 1.0mu }% \varphi)\ast(\mathopen{\oplus\mskip 1.0mu }\psi)\\ &=&\bigl{(}\,\textstyle{\sum\,}_{x_{1}\,\in\,X}\;\varphi(x_{1})\,\bigr{)}\ast% \bigl{(}\,\textstyle{\sum\,}_{x_{2}\,\in\,X}\;\psi(x_{2})\,\bigr{)}&\text{(by % definition $\mathopen{\oplus\mskip 1.0mu }$)}\\ &=&\textstyle{\sum\,}_{x_{1},x_{2}\,\in\,X}\;\varphi(x_{1})\ast\psi(x_{2})&% \text{(by distributivity of $\ast$ over~{}$+$)}\\ &=&\textstyle{\sum\,}_{x\,\in\,X,\,x=x_{1}\mathbin{\mskip 1.0mu |\mskip 1.0mu % }x_{2}}\;\varphi(x_{1})\ast\psi(x_{2})&\text{(by injectivity of $\mathbin{% \mskip 1.0mu |\mskip 1.0mu }\,$)}\\ &=&\textstyle{\sum\,}_{x\,\in\,X,\,x=x_{1}\mathbin{\mskip 1.0mu |\mskip 1.0mu % }x_{2}}\;(\varphi\mathbin{\mskip 1.0mu |\mskip 1.0mu }\psi)(x)&\text{(by % definition of $\varphi\mathbin{\mskip 1.0mu |\mskip 1.0mu }\psi$)}\\ &=&\textstyle{\sum\,}_{x\,\in\,X}\;(\varphi\mathbin{\mskip 1.0mu |\mskip 1.0mu% }\psi)(x)&\text{(since $(\varphi\mathbin{\mskip 1.0mu |\mskip 1.0mu }\psi)(x)% =0$ if $x\notin\mathbin{\mskip 1.0mu |\mskip 1.0mu }^{-1}(X)$)}\end{array}

The fact \mathopen{\oplus\mskip 1.0mu }(\varphi\,+\,\psi)=\mathopen{\oplus\mskip 1.0mu % }\varphi\,+\,\mathopen{\oplus\mskip 1.0mu }\psi follows direct from the definitions and commutativity of +. ∎

Additional proof for Section 4

Lemma 3. Let {\cal L} be a set of labels and {\cal R} a semiring. Then functor {\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.0mu } on Set is bounded.

Proof.

Consider the elements \nu\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu % \mathbb{N},{\cal R}\mskip 2.0mu )^{\cal L} as parametrized ‘valuation’ functions, and the elements \sigma\in X^{\mathbb{N}} as ‘selection’ functions. The functor \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu \mathbb% {N},{\cal R}\mskip 2.0mu )^{\cal L}\times({\cdot})^{\mathbb{N}}:\textbf{Set}% \to\textbf{Set} is the product functor of the lifting \mathit{id}_{\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1% .0mu \mathbb{N},{\cal R}\mskip 2.0mu )^{\cal L}} of the identity functor \mathit{id}_{\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1% .0mu \mathbb{N},{\cal R}\mskip 2.0mu )} to {\cal L} and of the functor ({\cdot})^{\mathbb{N}}. Define the mapping \eta:\mathit{id}_{\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(% \mskip 1.0mu \mathbb{N},{\cal R}\mskip 2.0mu )^{\cal L}}\times({\cdot})^{% \mathbb{N}}\to{\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.% 0mu } by putting

\eta_{X}(\nu,\sigma)({\ell\mskip 2.0mu })(x)\,=\,\textstyle{\sum\,}_{\,n\,\in% \,\sigma^{\mskip-1.0mu -1}(x)}\;\nu\mskip 1.0mu ({\ell\mskip 2.0mu })(n)

for \nu\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu % \mathbb{N},{\cal R}\mskip 2.0mu )^{\cal L}, \sigma\in X^{\mathbb{N}} and \ell\in{\cal L}. For \ell\in{\cal L} and x\in X, the right-hand sum defining \eta_{X}(\nu,\sigma)({\ell\mskip 2.0mu })(x) exists, since \nu\mskip 1.0mu ({\ell\mskip 2.0mu }):\mathbb{N}\to{\cal R} is of finite support. Note that \eta_{X}(\nu,\sigma)({\ell\mskip 2.0mu }) is of finite support too: If \eta_{X}(\nu,\sigma)({\ell\mskip 2.0mu })(x)\linebreak\neq 0, by definition \sum\{\,\nu\mskip 1.0mu ({\ell\mskip 2.0mu })(n)\mid n\in\sigma^{\mskip-1.0mu % -1}(x)\,\}\neq 0. Then \nu\mskip 1.0mu ({\ell\mskip 2.0mu })(n)\neq 0 for some n\in\sigma^{\mskip-1.0mu -1}(x). Thus, \sigma(n)=x for some n\in\textsl{spt }(\nu\mskip 1.0mu ({\ell\mskip 2.0mu })). So, \textsl{spt }(\,\eta_{X}(\nu,\sigma)\,)\subseteq\{\,\sigma(n)\mid n\in\textsl{% spt }(\nu\mskip 1.0mu ({\ell\mskip 2.0mu }))\,\} and \textsl{spt }(\,\eta_{X}(\nu,\sigma)\,) is finite.

Next we verify that \eta:\mathit{id}_{\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(% \mskip 1.0mu \mathbb{N},{\cal R}\mskip 2.0mu )^{\cal L}}\times({\cdot})^{% \mathbb{N}}\to{\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.% 0mu } is a natural transformation, i.e. we check that for f:X\to Y it holds that {\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.0mu }\mathop{% \raisebox{0.5pt}{\scriptsize$\circ$}}\eta_{X}=\eta_{Y}\mathop{\raisebox{0.5pt}% {\scriptsize$\circ$}}\mathop{\langle\,}\,\mathit{id}_{\mskip 1.0mu \mathrm{% \mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu \mathbb{N},{\cal R}\mskip 2.% 0mu )^{\cal L}},\,f^{\mathbb{N}}\mathclose{\,\rangle}.

For \nu\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu % \mathbb{N},{\cal R}\mskip 2.0mu )^{\cal L} and \sigma\in X^{\mathbb{N}} we have, for \ell\in{\cal L} and y\in Y,

\begin{array}[]{rclcl}\omit\span\omit\span\omit(\,\mskip 1.0mu \mathrm{% \mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu f,{\cal R}\mskip 2.0mu )^{% \cal L}\mathop{\raisebox{0.5pt}{\scriptsize$\circ$}}\eta_{X}\,)(\nu,\sigma)(% \ell)(y)\\ &=&\textstyle{\sum\,}_{x\,\in\,f^{\mskip-1.0mu -1}(y)}\;\eta_{X}(\nu,\sigma)(% \ell)(x)&=&\textstyle{\sum\,}_{x\,\in\,f^{\mskip-1.0mu -1}(y)}\;\textstyle{% \sum\,}_{n\,\in\,\sigma^{\mskip-1.0mu -1}(x)}\;\nu\mskip 1.0mu (\ell)(n)\\ &=&\textstyle{\sum\,}_{n\,\in\,(f\mathop{\raisebox{0.5pt}{\scriptsize$\circ$}}% \sigma)^{\mskip-1.0mu -1}}\;\nu\mskip 1.0mu (\ell)(n)&=&\eta_{Y}\,(\nu,f% \mathop{\raisebox{0.5pt}{\scriptsize$\circ$}}\sigma)({\ell\mskip 2.0mu })(y)\\ &=&\eta_{Y}\,\bigl{(}\,(\mathit{id}_{\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.% 5mu \mathcal{S}}(\mskip 1.0mu \mathbb{N},{\cal R}\mskip 2.0mu )^{\cal L}}% \times f^{\mathbb{N}}\,)(\nu,\sigma)\bigr{)}({\ell\mskip 2.0mu })(y)&=&(\,\eta% _{Y}\mathop{\raisebox{0.5pt}{\scriptsize$\circ$}}\>(\,\mathit{id}_{\mskip 1.0% mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu \mathbb{N},{\cal R% }\mskip 2.0mu )^{\cal L}}\times f^{\mathbb{N}}\,))(\nu,\sigma)({\ell\mskip 2.0% mu })(y)\end{array}

Thus, \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu f,{\cal R% }\mskip 2.0mu )^{\cal L}\mathop{\raisebox{0.5pt}{\scriptsize$\circ$}}\eta_{X}=% \eta_{Y}\mathop{\raisebox{0.5pt}{\scriptsize$\circ$}}\>(\,\mathit{id}_{\mskip 1% .0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu \mathbb{N},{% \cal R}\mskip 2.0mu )^{\cal L}}\times f^{\mathbb{N}}\,) and \eta:\mathit{id}_{\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(% \mskip 1.0mu \mathbb{N},{\cal R}\mskip 2.0mu )^{\cal L}}\times({\cdot})^{% \mathbb{N}}\to{\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.% 0mu } is a natural transformation.

Finally, we check that \eta_{X}:\mathit{id}_{\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}% }(\mskip 1.0mu \mathbb{N},{\cal R}\mskip 2.0mu )^{\cal L}}\times X^{\mathbb{N}% }\to{\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.0mu }(X) is surjective. Choose a set X and a mapping \varphi:{\cal L}\to\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(% \mskip 1.0mu X,{\cal R}\mskip 2.0mu ). Say, \textsl{spt }(\varphi({\ell\mskip 2.0mu }))=\{\,x_{\mskip 1.0mu 1}^{{\mskip 1.% 0mu \ell}},\ldots,x_{n({\ell\mskip 2.0mu })}^{\mskip 1.0mu \ell}\}. Without loss of generality we assume X\neq\textsl{spt }(\varphi({\ell\mskip 2.0mu })) and pick x^{\mskip 1.0mu \ell}_{0}\in X\backslash\textsl{spt }(\varphi({\ell\mskip 2.0% mu })). Define \nu\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu % \mathbb{N},{\cal R}\mskip 2.0mu )^{\cal L} by \nu\mskip 1.0mu ({\ell\mskip 2.0mu })(n)=\varphi({\ell\mskip 2.0mu })(x^{% \mskip 1.0mu \ell}_{n}) for n=1\ldots n({\ell\mskip 2.0mu }) and \nu({\ell\mskip 2.0mu })(n)=0 otherwise. Define \sigma:\mathbb{N}\to X by \sigma(n)=x_{n}^{\mskip 1.0mu \ell} for 1\leqslant n\leqslant n({\ell\mskip 2.0mu }) and \sigma(n)=x_{0}^{\mskip 1.0mu \ell} otherwise. Then we have

\begin{array}[]{rclclcl}\eta_{X}\mathop{\langle\,}\nu,\sigma\mathclose{\,% \rangle}({\ell\mskip 2.0mu })(x_{i}^{\mskip 1.0mu \ell})&=&\textstyle{\sum\,}_% {m\,\in\,\sigma^{\mskip-1.0mu -1}(x_{i}^{\mskip 1.0mu \ell})}\;\nu\mskip 1.0mu% ({\ell\mskip 2.0mu })(m)&=&\nu\mskip 1.0mu ({\ell\mskip 2.0mu })(i)&=&\varphi% \mskip 1.0mu ({\ell\mskip 2.0mu })(x^{\mskip 1.0mu \ell}_{i})\\ \eta_{X}\mathop{\langle\,}\nu,\sigma\mathclose{\,\rangle}({\ell\mskip 2.0mu })% (x)&=&\textstyle{\sum\,}_{m\,\in\,\sigma^{\mskip-1.0mu -1}(x)}\ \ \nu\mskip 1.% 0mu ({\ell\mskip 2.0mu })(m)&=&\textstyle{\sum\,}_{n\,\in\,\mathbb{N}% \backslash\{\,1,\ldots,n({\ell\mskip 2.0mu })\,\}}\;\nu\mskip 1.0mu ({\ell% \mskip 2.0mu })(n)&=&0\end{array}

for i=1\ldots n({\ell\mskip 2.0mu }) and x\notin\textsl{spt }(\nu(\ell)). Thus \eta_{X}\mathop{\langle\,}\nu,\sigma\mathclose{\,\rangle}({\ell\mskip 2.0mu })% (x)=\varphi\mskip 1.0mu ({\ell\mskip 2.0mu })(x) for all \ell\in{\cal L} and x\in X, \eta_{X}\mathop{\langle\,}\nu,\sigma\mathclose{\,\rangle}=\varphi and \eta_{X}:\mathit{id}_{\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}% }(\mskip 1.0mu \mathbb{N},{\cal R}\mskip 2.0mu )^{\cal L}}\times X^{\mathbb{N}% }\to{\cal V}^{{\cal L}\mskip 2.0mu }_{\mskip-4.0mu {\cal R}\mskip 0.0mu }(X) is surjective. ∎

Additional proofs for Section 5

Definition.[18, Definition 3.3.1] We put

\begin{array}[]{lcllclcll}r_{a}(\textbf{nil})&=&0&&&r_{a}(P\,+\,Q)&=&r_{a}(P)+% r_{a}(Q)&\\ r_{a}((a,\lambda).P)&=&\lambda&&&r_{a}(P\mathbin{\mskip 2.0mu \parallel_{% \mskip 1.0mu A}\mskip 0.0mu }Q)&=&r_{a}(P)+r_{a}(Q)&\text{if $a\notin A$}\\ r_{a}((b,\lambda).P)&=&0&\text{for $b\neq a$}&&r_{a}(P\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }Q)&=&\mathrm{\textrm{min}}\{\,r_{a}(P)% ,\,r_{a}(Q)\,\}&\text{if $a\in A$}\\ r_{a}(X)&=&r_{a}(P)&\text{if $X:=P$}\end{array}

Lemma 6. Let P\in{{\cal P}}_{\textsl{PEPA}} and a\in{\cal A}. Suppose P\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}\mathcal{P}. Then \mathopen{\oplus\mskip 1.0mu }\mathcal{P}=r_{a}(P).

Proof.

Guarded recursion. We treat the two cases for the parallel construct.

Case P=P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}, a\notin A. Suppose P_{1}\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}\mathcal{P% }_{1}, P_{2}\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}\mathcal{P% }_{2}. Then \mathcal{P}=(\,\mathcal{P}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }{\cal X}_{P_{2}}\,)\,+\,(\,{\cal X}_{P_{1}}\mathbin{\mskip 2.0mu% \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\mathcal{P}_{2}\,). Therefore we have

\begin{array}[]{rcll}\mathopen{\oplus\mskip 1.0mu }\mathcal{P}&=&\mathopen{% \oplus\mskip 1.0mu }(\,\mathcal{P}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1% .0mu A}\mskip 0.0mu }{\cal X}_{P_{2}}\,)\,+\,(\,{\cal X}_{P_{1}}\mathbin{% \mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\mathcal{P}_{2}\,)\\ &=&\mathopen{\oplus\mskip 1.0mu }(\,\mathcal{P}_{1}\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }{\cal X}_{P_{2}}\,)\,+\,\mathopen{% \oplus\mskip 1.0mu }(\,{\cal X}_{P_{1}}\mathbin{\mskip 2.0mu \parallel_{\mskip 1% .0mu A}\mskip 0.0mu }\mathcal{P}_{2}\,)&\text{(by Lemma~{}\ref{lm-props-fsum})% }\\ &=&(\,\mathopen{\oplus\mskip 1.0mu }\mathcal{P}_{1}\cdot\mathopen{\oplus\mskip 1% .0mu }{\cal X}_{P_{2}}\,)\,+\,(\,\mathopen{\oplus\mskip 1.0mu }{\cal X}_{P_{1}% }\cdot\mathopen{\oplus\mskip 1.0mu }\mathcal{P}_{2}\,)&\text{(by Lemma~{}\ref{% lm-props-fsum})}\\ &=&\mathopen{\oplus\mskip 1.0mu }\mathcal{P}_{1}\,+\,\mathopen{\oplus\mskip 1.% 0mu }\mathcal{P}_{2}&\text{(since $\mathopen{\oplus\mskip 1.0mu }{\cal X}_{P_{% 1}},\mathopen{\oplus\mskip 1.0mu }{\cal X}_{P_{2}}=1$)}\\ &=&r_{a}(P_{1})\,+\,r_{a}(P_{2})&\text{(by the induction hypothesis)}\\ &=&r_{a}(P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_% {2})&\text{(by definition~{}$r_{a}$)}\end{array}

Case P=P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}, a\in A. Suppose P_{1}\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}\mathcal{P% }_{1}, P_{2}\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}_{p}\mathcal{P% }_{2}. Then \mathcal{P}=\textsl{arf}\mskip 1.0mu (\mskip 1.0mu \mathcal{P}_{1},\mathcal{P}% _{2}\mskip 1.0mu )\cdot(\,\mathcal{P}_{1}\mathbin{\mskip 2.0mu \parallel_{% \mskip 1.0mu A}\mskip 0.0mu }\mathcal{P}_{2}\,). If \mathopen{\oplus\mskip 1.0mu }\mathcal{P}_{1},\mathopen{\oplus\mskip 1.0mu }% \mathcal{P}_{2}>0 we have

\begin{array}[]{rcll}\mathopen{\oplus\mskip 1.0mu }\mathcal{P}&=&\mathopen{% \oplus\mskip 1.0mu }(\textsl{arf}\mskip 1.0mu (\mskip 1.0mu \mathcal{P}_{1},% \mathcal{P}_{2}\mskip 1.0mu )\cdot(\,\mathcal{P}_{1}\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\mathcal{P}_{2}\,)\\ &=&\textsl{arf}\mskip 1.0mu (\mskip 1.0mu \mathcal{P}_{1},\mathcal{P}_{2}% \mskip 1.0mu )\cdot\mathopen{\oplus\mskip 1.0mu }\mathcal{P}_{1}\cdot\mathopen% {\oplus\mskip 1.0mu }\mathcal{P}_{2}&\text{(by Lemma~{}\ref{lm-props-fsum})}\\ &=&\begin{array}[]{c}\mathrm{\textrm{min}}\mskip 2.0mu \{\,\mathopen{\oplus% \mskip 1.0mu }\mathcal{P}_{1},\,\mathopen{\oplus\mskip 1.0mu }\mathcal{P}_{2}% \,\}\\ \hline\mathopen{\oplus\mskip 1.0mu }\mathcal{P}_{1}\cdot\mathopen{\oplus\mskip 1% .0mu }\mathcal{P}_{2})\end{array}\cdot\mathopen{\oplus\mskip 1.0mu }\mathcal{P% }_{1}\cdot\mathopen{\oplus\mskip 1.0mu }\mathcal{P}_{2}&\text{(by definition % of $\textsl{arf}\mskip 1.0mu $)}\\ &=&\mathrm{\textrm{min}}\mskip 2.0mu \{\,\mathopen{\oplus\mskip 1.0mu }% \mathcal{P}_{1},\,\mathopen{\oplus\mskip 1.0mu }\mathcal{P}_{2}\,\}&\\ &=&\mathrm{\textrm{min}}\mskip 2.0mu \{\,r_{a}(P_{1}),\,r_{a}(P_{2})\,\}&\text% {(by the induction hypothesis)}\\ &=&r_{a}(P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_% {2})&\text{(by definition~{}$r_{a}$)}\end{array}

If \mathopen{\oplus\mskip 1.0mu }\mathcal{P}_{1},\mathopen{\oplus\mskip 1.0mu }% \mathcal{P}_{2}=0, then \textsl{arf}\mskip 1.0mu (\mathcal{P}_{1},\mathcal{P}_{2})=0, by definition, and r_{a}(P_{1}),r_{a}(P_{2})=0, by induction hypothesis. Therefore we have \mathopen{\oplus\mskip 1.0mu }\mathcal{P}=\textsl{arf}\mskip 1.0mu (\mathcal{P% }_{1},\mathcal{P}_{2})\cdot\mathopen{\oplus\mskip 1.0mu }\mathcal{P}_{1}\cdot% \mathopen{\oplus\mskip 1.0mu }\mathcal{P}_{2}=0 as well as r_{a}(P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}% )=\mathrm{\textrm{min}}\mskip 2.0mu \{\,r_{a}(P_{1}),\,r_{a}(P_{2})\,\}=0. So, also now, \mathopen{\oplus\mskip 1.0mu }\mathcal{P}=r_{a}(P_{1}\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}). The other cases are straightforward, in the case of P_{1}\,+\,P_{2} also relying on Lemma 1. ∎

Corollary. If P\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}\mathcal{P} and Q\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}\mathcal{Q}, then \textsl{arf}\mskip 1.0mu (\mathcal{P},\mathcal{Q})=\textsl{arf}\mskip 1.0mu (P% ,Q).

Proof.

Direct from the definitions. ∎

Lemma 8. Let P\in{{\cal P}}_{\textsl{PEPA}} and a\in{\cal A}. Suppose P\lx@stackrel{{\scriptstyle\>\delta_{a}}}{{\rightarrowtail}}\mathcal{P}. Then it holds that \mathcal{P}(P^{\prime})=\textstyle{\sum\,}\;\mathopen{\{\mskip-2.25mu |\mskip 2% .25mu }\,\lambda\mid P\lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}P^{% \prime}\,\mathclose{\mskip 2.0mu |\!\}} for all P^{\prime}\in{{\cal P}}_{\textsl{PEPA}}.

Proof.

Guarded induction on P. We only treat the cases for the parallel composition. Note, the operation {\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }}:{{\cal P}}_{% \textsl{PEPA}}\times{{\cal P}}_{\textsl{PEPA}}\to{{\cal P}}_{\textsl{PEPA}} with {\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }}(\mskip 1.0mu % {P_{1}},\mskip 1.0mu {P_{2}}\mskip 1.0mu )=P_{1}\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2} is injective. Recall, for \mathcal{P}_{1},\mathcal{P}_{2}\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu% \mathcal{S}}(\mskip 1.0mu {{\cal P}}_{\textsl{PEPA}},\mathbb{R}_{\geqslant 0}% \mskip 2.0mu ), we have (\mathcal{P}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }% \mathcal{P}_{2})(P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0% .0mu }P_{2})=\mathcal{P}_{1}(P_{1})\cdot\mathcal{P}_{2}(P_{2}).

Suppose a\notin{\cal A}. Assume P_{1}\lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}\mathcal{P}_{1}, P_{2}\lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}\mathcal{P}_{2}, P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}% \lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}\mathcal{P}. We distinguish three cases. Case (I), P^{\prime}=P^{\prime}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }P_{2}, P^{\prime}_{1}\neq P_{1}. Then we have

\begin{array}[]{rcll}\omit\span\omit\span\omit\span\omit\textstyle{\sum\,}% \mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P_{1}\mathbin{\mskip 2% .0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}\,\lx@stackrel{{\scriptstyle a% ,\lambda}}{{\rightarrow}}\,P^{\prime}\,\mathclose{\mskip 2.0mu |\!\}}\\ &=&\textstyle{\sum\,}\mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P% _{1}\,\lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}\,P^{\prime}_{1}\,% \mathclose{\mskip 2.0mu |\!\}}&\text{(by rule (PAR1a))}\\ &=&\mathcal{P}_{1}(P^{\prime}_{1})&\text{(by the induction hypothesis)}\\ &=&\mathcal{P}_{1}(P^{\prime}_{1})\cdot{\cal X}_{P_{2}}(P_{2})&\text{(as ${% \cal X}_{P_{2}}(P_{2})=1$)}\\ &=&\omit\span\omit(\mathcal{P}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0% mu A}\mskip 0.0mu }{\cal X}_{P_{2}})(P^{\prime}_{1}\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2})+({\cal X}_{P_{1}}\mathbin{% \mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\mathcal{P}_{2})(P^{% \prime}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}% )\\ &&&\text{(definition $\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0% .0mu }$ on~{}$\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1% .0mu {{\cal P}}_{\textsl{PEPA}},\mathbb{R}_{\geqslant 0}\mskip 2.0mu )$, ${% \cal X}_{P_{1}}(P^{\prime}_{1})=0$)}\\ &=&\mathcal{P}(P^{\prime})&\text{(by rule (PAR1)}\end{array}

Case (II), P^{\prime}=P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }% P^{\prime}_{2}, P^{\prime}_{2}\neq P_{2}: similar. Case (III), P^{\prime}=P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }% P_{2}. Then we have

\begin{array}[]{rcll}\omit\span\omit\span\omit\span\omit\textstyle{\sum\,}% \mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P_{1}\mathbin{\mskip 2% .0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}\,\lx@stackrel{{\scriptstyle a% ,\lambda}}{{\rightarrow}}\,P^{\prime}\,\mathclose{\mskip 2.0mu |\!\}}\\ &=&\bigl{(}\,\textstyle{\sum\,}\mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,% \lambda\mid P_{1}\,\lx@stackrel{{\scriptstyle a,\lambda}}{{\rightarrow}}\,P_{1% }\,\mathclose{\mskip 2.0mu |\!\}}\,\bigr{)}\ +\ \bigl{(}\,\textstyle{\sum\,}% \mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P_{2}\,\lx@stackrel{{% \scriptstyle a,\lambda}}{{\rightarrow}}\,P_{2}\,\mathclose{\mskip 2.0mu |\!\}}% \,\bigr{)}&\text{(by rules (PAR1a) and (PAR1b))}\\ &=&\mathcal{P}_{1}(P_{1})+\mathcal{P}_{2}(P_{2})&\text{(by the induction % hypothesis)}\\ &=&\omit\span\omit(\mathcal{P}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0% mu A}\mskip 0.0mu }{\cal X}_{P_{2}})(P_{1}\mathbin{\mskip 2.0mu \parallel_{% \mskip 1.0mu A}\mskip 0.0mu }P_{2})+({\cal X}_{P_{1}}\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\mathcal{P}_{2})(P_{1}\mathbin{\mskip 2% .0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2})\\ &&\omit\span\omit\text{(definition $\mathbin{\mskip 2.0mu \parallel_{\mskip 1.% 0mu A}\mskip 0.0mu }$ on~{}$\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu % \mathcal{S}}(\mskip 1.0mu {{\cal P}}_{\textsl{PEPA}},\mathbb{R}_{\geqslant 0}% \mskip 2.0mu )$, ${\cal X}_{P_{1}}(P_{1}),\ {\cal X}_{P_{2}}(P_{2})=1$)}\\ &=&\mathcal{P}(P^{\prime})&\text{(again by rule (PAR1)}\end{array}

Suppose a\in A. Assume P_{1}\lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}\mathcal{P}_{1}, P_{2}\lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}\mathcal{P}_{2}, P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}% \lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}\mathcal{P}. Without loss of generality, P^{\prime}=P^{\prime}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }P^{\prime}_{2} for suitable P^{\prime}_{1},P^{\prime}_{2}\in{{\cal P}}_{\textsl{PEPA}}.

\begin{array}[]{rcll}\omit\span\omit\span\omit\span\omit\textstyle{\sum\,}% \mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P_{1}\mathbin{\mskip 2% .0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}\,\lx@stackrel{{\scriptstyle a% ,\lambda}}{{\rightarrow}}\,P^{\prime}\,\mathclose{\mskip 2.0mu |\!\}}\\ &=&\textstyle{\sum\,}\mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\textsl{arf}% \mskip 1.0mu (P_{1},P_{2})\cdot\lambda_{1}\cdot\lambda_{2}\mid P_{1}\,% \lx@stackrel{{\scriptstyle a,\lambda_{1}}}{{\rightarrow}}\,P^{\prime}_{1},\,P_% {2}\,\lx@stackrel{{\scriptstyle a,\lambda_{2}}}{{\rightarrow}}\,P^{\prime}_{2}% \,\mathclose{\mskip 2.0mu |\!\}}&\text{(by rule (PAR2))}\\ &=&\textsl{arf}\mskip 1.0mu (P_{1},P_{2})\cdot\Bigl{(}\,\textstyle{\sum\,}% \mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda_{1}\mid P_{1}\,% \lx@stackrel{{\scriptstyle a,\lambda_{1}}}{{\rightarrow}}\,P^{\prime}_{1}\,% \mathclose{\mskip 2.0mu |\!\}}\,\Bigr{)}\cdot\Bigl{(}\,\textstyle{\sum\,}% \mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda_{2}\mid P_{2}\,% \lx@stackrel{{\scriptstyle a,\lambda_{2}}}{{\rightarrow}}\,P^{\prime}_{2}\,% \mathclose{\mskip 2.0mu |\!\}}\,\Bigr{)}&\text{(by distributivity)}\\ &=&\textsl{arf}\mskip 1.0mu (P_{1},P_{2})\cdot\mathcal{P}_{1}(P^{\prime}_{1})% \cdot\mathcal{P}_{2}(P^{\prime}_{2})&\text{(by the induction hypothesis)}\\ &=&\textsl{arf}\mskip 1.0mu (\mathcal{P}_{1},\mathcal{P}_{2})\cdot\mathcal{P}_% {1}(P^{\prime}_{1})\cdot\mathcal{P}_{2}(P^{\prime}_{2})&\text{(by the % corollary above)}\\ &=&\textsl{arf}\mskip 1.0mu (\mathcal{P}_{1},\mathcal{P}_{2})\cdot(\mathcal{P}% _{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\mathcal{P}_% {2})(P^{\prime}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0% mu }P^{\prime}_{2})&\text{(definition $\mathbin{\mskip 2.0mu \parallel_{\mskip 1% .0mu A}\mskip 0.0mu }$ on~{}$\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu % \mathcal{S}}(\mskip 1.0mu {{\cal P}}_{\textsl{PEPA}},\mathbb{R}_{\geqslant 0}% \mskip 2.0mu )$)}\\ &=&\mathcal{P}(P^{\prime})&\text{(by rule (PAR2)}\end{array}

The other cases are simpler and omitted here. ∎

Additional proofs for Section 6

Lemma 11.

  • Let P\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu } and a\in{\cal A}. If P\lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}_{1}\mathcal{P} then P\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}P^{\prime}\iff\mathcal{P}(P^{% \prime})=\texttt{true}.

  • Let P\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu } . If P\lx@stackrel{{\scriptstyle\delta}}{{\rightarrowtail}}_{2}\mathcal{P} then \textstyle{\sum\,}\mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P% \lx@stackrel{{\scriptstyle\lambda}}{{\dashrightarrow}}P^{\prime}\,\mathclose{% \mskip 2.0mu |\!\}}=\mathcal{P}(P^{\prime}). ∎

Proof.

(a) Guarded induction. Let a\in{\cal A}. We treat the typical cases \lambda.P and P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2} for a\notin A.

Case \lambda.P. Suppose \lambda.P\lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}\mathcal{P}. Then we have \mathcal{P}=[\mskip 1.0mu ]_{\mathbb{B}}. Thus, both \lambda.P\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}P^{\prime} for no P^{\prime}\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu }, as no transition is provided in \lx@stackrel{{\scriptstyle}}{{\rightarrow}}, and \mathcal{P}(P^{\prime})=\texttt{false} by definition of [\mskip 1.0mu ]_{\mathbb{B}}, for all P^{\prime}\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu }.

Case P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}, a\notin A. Suppose P_{1}\lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}\mathcal{P}_{1}, P_{2}\lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}\mathcal{P}_{2} and P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}% \lx@stackrel{{\scriptstyle a}}{{\rightarrowtail}}\mathcal{P}. Then it holds that \mathcal{P}=(\mathcal{P}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }{\cal X}_{P_{2}})\,+\,({\cal X}_{P_{1}}\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\mathcal{P}_{2}). Recall, for Q\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu } and {\cal X}_{Q}\in\mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(% \mskip 1.0mu {{\cal P}}_{\textsl{IML}\mskip 1.0mu },\mathbb{B}\mskip 2.0mu ), {\cal X}_{Q}(Q^{\prime})=\texttt{true} iff Q^{\prime}=Q, for Q^{\prime}\in{{\cal P}}_{\textsl{IML}\mskip 1.0mu }. We have

\begin{array}[]{rcl}\omit\span\omit\span\omit P_{1}\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}\lx@stackrel{{\scriptstyle a}}{{% \rightarrow}}P^{\prime}\\ &\Leftrightarrow&(\,P_{1}\lx@stackrel{{\scriptstyle a}}{{\rightarrow}}P^{% \prime}_{1}\land P^{\prime}=P^{\prime}_{1}\mathbin{\mskip 2.0mu \parallel_{% \mskip 1.0mu A}\mskip 0.0mu }P_{2}\,)\;\lor\;(\,P_{2}\lx@stackrel{{% \scriptstyle a}}{{\rightarrow}}P^{\prime}_{2}\land P^{\prime}=P_{1}\mathbin{% \mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P^{\prime}_{2}\,)\\ &&\text{(by analysis of $\lx@stackrel{{\scriptstyle}}{{\rightarrow}}$)}\\ &\Leftrightarrow&(\,\mathcal{P}_{1}(P^{\prime}_{1})=\texttt{true}\land P^{% \prime}=P^{\prime}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0% .0mu }P_{2}\,)\;\lor\;(\,\mathcal{P}_{2}(P^{\prime}_{2})=\texttt{true}\land P^% {\prime}=P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P^% {\prime}_{2}\,)\\ &&\text{(by the induction hypothesis)}\\ &\Leftrightarrow&(\,\mathcal{P}_{1}(P^{\prime}_{1})\cdot{\cal X}_{P_{2}}(P_{2}% )=\texttt{true}\land P^{\prime}=P^{\prime}_{1}\mathbin{\mskip 2.0mu \parallel_% {\mskip 1.0mu A}\mskip 0.0mu }P_{2}\,)\;\lor\;(\,{\cal X}_{P_{1}}(P_{1})\cdot% \mathcal{P}_{2}(P^{\prime}_{2})=\texttt{true}\land P^{\prime}=P_{1}\mathbin{% \mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P^{\prime}_{2}\,)\\ &&\text{(by definition of ${\cal X}_{P_{1}}$ and~{}${\cal X}_{P_{2}}$)}\\ &\Leftrightarrow&(\,(\mathcal{P}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.% 0mu A}\mskip 0.0mu }{\cal X}_{P_{2}})(P^{\prime}_{1}\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2})=\texttt{true}\land P^{\prime}=P% ^{\prime}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{% 2}\,)\\ &&\ \ \ \ \ \ \ \ \ \ \lor\;(\,({\cal X}_{P_{1}}\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\mathcal{P}_{2})(P_{1}\mathbin{\mskip 2% .0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P^{\prime}_{2})=\texttt{true}% \land P^{\prime}=P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0% .0mu }P^{\prime}_{2}\,)\\ &&\text{(by definition of~{}$\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }$)}\\ &\Leftrightarrow&(\mathcal{P}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu% A}\mskip 0.0mu }{\cal X}_{P_{2}})(P^{\prime})=\texttt{true}\;\lor\;({\cal X}_% {P_{1}}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\mathcal{% P}_{2})(P^{\prime})=\texttt{true}\\ &&\text{(by definition of~{}$\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }$, ${\cal X}_{P_{1}}$ and~{}${\cal X}_{P_{2}}$)}\\ &\Leftrightarrow&(\,(\mathcal{P}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.% 0mu A}\mskip 0.0mu }{\cal X}_{P_{2}})\,+\,({\cal X}_{P_{1}}\mathbin{\mskip 2.0% mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\mathcal{P}_{2})\,)(P^{\prime})=% \texttt{true}\\ &&\text{(by definition of~{}$\,+\,$ on~{}$\mskip 1.0mu \mathrm{\mathcal{F}% \mskip-2.5mu \mathcal{S}}(\mskip 1.0mu {{\cal P}}_{\textsl{IML}\mskip 1.0mu },% \mathbb{B}\mskip 2.0mu )$)}\\ &\Leftrightarrow&\mathcal{P}(P^{\prime})=\texttt{true}\end{array}

The other cases are standard or similar and easier.

(b) Guarded induction. We treat the cases for \mu.P and P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}. Case \mu.P. Assume P\lx@stackrel{{\scriptstyle\delta}}{{\rightarrowtail}}_{2}\mathcal{P}. Suppose P=\mu.P^{\prime}. Then it holds that P admits a single \lx@stackrel{{\scriptstyle}}{{\dashrightarrow}}\mskip 3.0mu -transition, viz. P\lx@stackrel{{\scriptstyle\mu}}{{\dashrightarrow}}P^{\prime}. Thus we have \textstyle{\sum\,}\mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P% \lx@stackrel{{\scriptstyle\lambda}}{{\dashrightarrow}}P^{\prime}\,\mathclose{% \mskip 2.0mu |\!\}}=\mu=[\,P^{\prime}\mapsto\mu\,](P^{\prime})=\mathcal{P}(P^{% \prime}). Suppose P=\mu.P^{\prime\prime} for some P^{\prime\prime}\neq P. Then we have \textstyle{\sum\,}\mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P% \lx@stackrel{{\scriptstyle\lambda}}{{\dashrightarrow}}P^{\prime}\,\mathclose{% \mskip 2.0mu |\!\}}=0=[\,P^{\prime\prime}\mapsto\mu\,](P^{\prime})=\mathcal{P}% (P^{\prime}).

Case P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}. Assume P_{1}\lx@stackrel{{\scriptstyle\delta}}{{\rightarrowtail}}_{2}\mathcal{P}_{1}, P_{2}\lx@stackrel{{\scriptstyle\delta}}{{\rightarrowtail}}_{2}\mathcal{P}_{2} and P_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}% \lx@stackrel{{\scriptstyle\delta}}{{\rightarrowtail}}\mathcal{P}. It holds that \mathcal{P}=(\mathcal{P}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }{\cal X}_{P_{2}})\,+\,({\cal X}_{P_{1}}\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\mathcal{P}_{2}). We calculate

\begin{array}[]{rcl}\omit\span\omit\span\omit\textstyle{\sum\,}\mathopen{\{% \mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P_{1}\mathbin{\mskip 2.0mu % \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P_{2}\lx@stackrel{{\scriptstyle\lambda% }}{{\dashrightarrow}}P^{\prime}\,\mathclose{\mskip 2.0mu |\!\}}\\ &=&\textstyle{\sum\,}\mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P% _{1}\lx@stackrel{{\scriptstyle\lambda}}{{\dashrightarrow}}P^{\prime}_{1},\ P^{% \prime}=P^{\prime}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0% .0mu }P_{2}\,\mathclose{\mskip 2.0mu |\!\}}\,+\,\textstyle{\sum\,}\mathopen{\{% \mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P_{2}\lx@stackrel{{\scriptstyle% \lambda}}{{\dashrightarrow}}P^{\prime}_{2},\ P^{\prime}=P_{1}\mathbin{\mskip 2% .0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }P^{\prime}_{2}\,\mathclose{\mskip 2% .0mu |\!\}}\\ &&\text{(by analysis of $\lx@stackrel{{\scriptstyle}}{{\dashrightarrow}}$)}\\ &=&(\,\texttt{if}\;P^{\prime}=P^{\prime}_{1}\mathbin{\mskip 2.0mu \parallel_{% \mskip 1.0mu A}\mskip 0.0mu }P_{2}\;\texttt{then}\ \textstyle{\sum\,}\mathopen% {\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P_{1}\lx@stackrel{{\scriptstyle% \lambda}}{{\dashrightarrow}}P^{\prime}_{1}\,\mathclose{\mskip 2.0mu |\!\}}\ % \texttt{else}\ 0\ \texttt{end}\,)\,+\\ &&\qquad\qquad(\,\texttt{if}\;P^{\prime}=P_{1}\mathbin{\mskip 2.0mu \parallel_% {\mskip 1.0mu A}\mskip 0.0mu }P^{\prime}_{2}\;\texttt{then}\ \textstyle{\sum\,% }\mathopen{\{\mskip-2.25mu |\mskip 2.25mu }\,\lambda\mid P_{2}\lx@stackrel{{% \scriptstyle\lambda}}{{\dashrightarrow}}P^{\prime}_{2}\,\mathclose{\mskip 2.0% mu |\!\}}\ \texttt{else}\ 0\ \texttt{end}\,)\\ &=&(\,\texttt{if}\;P^{\prime}=P^{\prime}_{1}\mathbin{\mskip 2.0mu \parallel_{% \mskip 1.0mu A}\mskip 0.0mu }P_{2}\;\texttt{then}\ \mathcal{P}_{1}(P^{\prime}_% {1})\ \texttt{else}\ 0\ \texttt{end}\,)\,+\\ &&\qquad\qquad(\,\texttt{if}\;P^{\prime}=P_{1}\mathbin{\mskip 2.0mu \parallel_% {\mskip 1.0mu A}\mskip 0.0mu }P^{\prime}_{2}\;\texttt{then}\ \mathcal{P}_{2}(P% ^{\prime}_{2})\ \texttt{else}\ 0\ \texttt{end}\,)\\ &&\text{(by induction hypothesis for $P_{1}$ and~{}$P_{2}$)}\\ &=&(\,\mathcal{P}_{1}\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}\mskip 0.% 0mu }{\cal X}_{P_{2}}\,)(P^{\prime})\,+\,(\,{\cal X}_{P_{1}}\mathbin{\mskip 2.% 0mu \parallel_{\mskip 1.0mu A}\mskip 0.0mu }\mathcal{P}_{2}\,)(P^{\prime})\\ &&\text{(by definition of~{}$\mathbin{\mskip 2.0mu \parallel_{\mskip 1.0mu A}% \mskip 0.0mu }$, ${\cal X}_{P_{1}}$,${\cal X}_{P_{2}}$ and~{}$\,+\,$ on~{}$% \mskip 1.0mu \mathrm{\mathcal{F}\mskip-2.5mu \mathcal{S}}(\mskip 1.0mu {{\cal P% }}_{\textsl{IML}\mskip 1.0mu },\mathbb{R}_{\geqslant 0}\mskip 2.0mu )$)}\\ &=&\mathcal{P}(P^{\prime})\end{array}

The remaining cases are left to the reader. ∎

Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
""
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
   
Add comment
Cancel
Loading ...
72624
This is a comment super asjknd jkasnjk adsnkj
Upvote
Downvote
""
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters
Submit
Cancel

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test
Test description