Abstract
This paper studies higher-order processes with the capability of parameterization (or abstraction), which has been proven to be an effective measure of lifting the mere process-passing in expressiveness. We contribute to the understanding of two kinds of parameterization: name-parameterization and process-parameterization, particularly in a second-order setting (no currying of parameterization). Firstly, we show that in the expressiveness hierarchy of process-parameterization, n-ary parameterization can faithfully translate (n+1)-ary parameterization in a linear setting where each received process can be used only once. Secondly, the two kinds of parameterization are compared. We prove that name-parameterization is more basic than process-parameterization, i.e. the former can encode the union of them. As a result, name-parameterization can strictly promote the expressiveness of mere process-passing.
Xian Xu, Qiang Yin, and Huan Long are supported by the National Nature Science Foundation of China (61261130589, 61202023, 61173048), and the ANR project 12IS02001 (PACE).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Bundgaard, M., Godskesen, J.C., Hildebrandt, T.: Encoding the pi-calculus in higher-order calculi. Technical report TR-2008-106, IT University of Copenhagen (2008)
Bundgaard, M., Hildebrandt, T., Godskesen, J.C.: A CPS encoding of name-passing in higher-order mobile embedded resources. Theoret. Comput. Sci. 356, 422–439 (2006)
Di Giusto, C., Pérez, J.A., Zavattaro, G.: On the expressiveness of forwarding in higher-order communication. In: Leucker, M., Morgan, C. (eds.) ICTAC 2009. LNCS, vol. 5684, pp. 155–169. Springer, Heidelberg (2009)
Gorla, D.: Towards a unified approach to encodability and separation results for process calculi. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 492–507. Springer, Heidelberg (2008). (Journal version in [5])
Gorla, D.: Towards a unified approach to encodability and separation results for process calculi. Inf. Comput. 208(9), 1031–1053 (2010)
Hennessy, M.: A Distributed Pi-Calculus. Cambridge University Press, Cambridge (2007)
Honda, K., Tokoro, M.: An object calculus for asynchronous communication. In: America, P. (ed.) ECOOP 1991. LNCS, vol. 512, pp. 133–147. Springer, Heidelberg (1991)
Lago, U.D., Martini, S., Sangiorgi, D.: Light logics and higher-order processes. In: Proceedings of Workshop on Expressiveness in Concurrency 2010 (EXPRESS 2010). EPTCS, vol. 41, pp. 46–60 (2010)
Lanese, I., Lienhardt, M., Mezzina, C.A., Schmitt, A., Stefani, J.-B.: Concurrent flexible reversibility. In: Felleisen, M., Gardner, P. (eds.) Programming Languages and Systems. LNCS, vol. 7792, pp. 370–390. Springer, Heidelberg (2013)
Lanese, I., Pérez, J.A., Sangiorgi, D., Schmitt, A.: On the expressiveness of polyadic and synchronous communication in higher-order process calculi. In: Abramsky, S., Gavoille, C., Kirchner, C., Meyer auf der Heide, F., Spirakis, P.G. (eds.) ICALP 2010. LNCS, vol. 6199, pp. 442–453. Springer, Heidelberg (2010)
Lanese, I., Pérez, J.A., Sangiorgi, D., Schmitt, A.: On the expressiveness and decidability of higher-order process calculi. Inf. Comput. 209(2), 198–226 (2011)
Lanese, I., Perez, J., Sangiorgi, D., Schmitt, A.: On the expressiveness and decidability of higher-order process calculi. In: Proceedings of the 23rd Annual IEEE Symposium on Logic in Computer Science (LICS 2008), pp. 293–302 (2008)
Meyer, R., Khomenko, V., Strazny, T.: A practical approach to verification of mobile systems using net unfoldings. In: van Hee, K.M., Valk, R. (eds.) PETRI NETS 2008. LNCS, vol. 5062, pp. 327–347. Springer, Heidelberg (2008)
Milner, R.: Functions as processes. J. Math. Struct. Comput. Sci. 2(2), 119–141 (1992). (Research report 1154. INRIA, Sofia Antipolis, 1990)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes (parts i and ii). Inf. Comput. 100(1), 1–77 (1992). (Academic Press)
Palamidessi, C.: Comparing the expressive power of the synchronous and the asynchronous pi-calculus. Math. Struct. Comput. Sci. 13, 685–719 (2003)
Sangiorgi, D.: Expressing mobility in process algebras: first-order and higher-order paradigms. Ph.d. thesis, University of Edinburgh (1992)
Sangiorgi, D.: From \(\pi \)-calculus to higher-order \(\pi \)-calculus–and back. In: Gaudel, M.-C., Jouannaud, J.-P. (eds.) CAAP 1993, FASE 1993, and TAPSOFT 1993. LNCS, vol. 668, pp. 151–166. Springer, Heidelberg (1993)
Sangiorgi, D.: Bisimulation for higher-order process calculi. Inf. Comput. 131(2), 141–178 (1996). (Preliminary Version in Proceedings PROCOMET’94 (IFIP Working Conference on Programming Concepts, Methods and Calculi), pp. 207–224, North Holland, 1994)
Sangiorgi, D.: Pi-calculus, internal mobility and agent-passing calculi. Theor. Comput. Sci. 167(2), 235–274 (1996). (Extracts of parts of the material contained in this paper can be found in the Proceedings of TAPSOFT’95 and ICALP’95)
Sangiorgi, D.: Introduction to Bisimulation and Coinduction. Cambridge University Press, Cambridge (2011)
Sangiorgi, D., Walker, D.: The Pi-Calculus: A Theory of Mobile Processes. Cambridge Universtity Press, Cambridge (2001)
Thomsen, B.: Calculi for higher order communicating systems. Ph.d. thesis, Department of Computing, Imperial College (1990)
Thomsen, B.: Plain chocs, a second generation calculus for higher-order processes. Acta Inf. 30(1), 1–59 (1993)
Xu, X.: Expressing first-order \(\pi \)-calculus in higher-order calculus of communicating systems. J. Comput. Sci. Technol. 24(1), 122–137 (2009)
Xu, X.: On bisimulation theory in linear higher-order pi-calculus. Trans. Petri Nets Other Models Concurr. III 5800, 244–274 (2009)
Xu, X.: Distinguishing and relating higher-order and first-order processes by expressiveness. Acta Inf. 49, 445–484 (2012)
Xu, X.: On the expressiveness of higher-order processes with name parameterization. Technical report, East China University of Science and Technology (2012). Presented and discussed at the 4th NSFC-JSPS Joint Workshop on Formal Methods (Nara Japan) (2011)
Xu, X.: On context bisimulation for parameterized higher-order processes. In: Proceedings of 6th Interaction and Concurrency Experience (ICE 2013), Satellite workshop of DisCoTec 2013 (2013). (to appear in EPTCS)
Yin, Q., Long, H.: Process passing calculus, revisited. J. Shanghai Jiaotong Univ. (Science) 18, 29–36 (2013)
Acknowledgement
The authors thank the members of the BASICS lab and the anonymous referees for their comments and suggestions.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
Appendix
Proofs
1.1 Proofs for Sect. 3
Proof of Lemma 1
Proof
\((1.1)\) and \((2.1)\) are trivial according to the encoding. \((3)\) becomes easy in a straightforward way from \((1.1)\), \((1.2)\), \((2.1)\), \((2.2)\). The most critical parts are \((1.2)\) and \((2.2)\). Since their proof strategies are somewhat similar, we focus on \((1.2)\). To prove that clause, we need to undergo an induction on the structure of \(P\). Thus there are several cases: \(0\), \(a(Y).P_1\), \(\overline{a}E.P_1\), \(P_1|\,Q_1\), \((c)P_1\), \(\langle X_1, X_2 \rangle P_1\), \(P_1\langle B_1, B_2 \rangle \). We will expand the analysis on three of them, and the rest are similar or easier.
-
\(P\equiv a(Y).P_1\). In this case \(P{\xrightarrow {a(G)}} P_1\{G/Y\} \) and \(F\equiv P_1\). According to the encoding, \( [\![P ]\!]^{}_{}\equiv a(Y). [\![P_1 ]\!]^{}_{} {\xrightarrow {a(H)}} [\![P_1 ]\!]^{}_{}\{H/Y\} \equiv T\), in which \(H\equiv \langle Z \rangle \overline{m}Z\). Since \(F\equiv P_1\), we immediately have \(T = [\![F ]\!]^{}_{}\{H/Y\} \).
-
\(P\equiv P_1\langle B_1, B_2 \rangle \). The only countable case is \(P\equiv Y\langle B_1, B_2 \rangle \), when \( [\![P ]\!]^{}_{}\equiv (fgh)(\overline{g}|\,Y\langle g.(\overline{f}|\,\overline{h})+f.( [\![B_1 ]\!]^{}_{}|\,\overline{f}) \rangle |\,h.Y\langle [\![B_2 ]\!]^{}_{} \rangle )\). So this case is impossible.
-
\(P\equiv P_1|\,Q_1\). W.l.o.g., suppose \(P_1{\xrightarrow {a(G)}} P_1'\equiv F_1\{G/Y\} \) for some \(F_1\) and \(Y\) is fresh. So \(P\equiv P_1|\,Q_1 {\xrightarrow {a(G)}} P_1'|\,Q_1\equiv F_1\{G/Y\} |\,Q_1\equiv F\{G/Y\} \) in which \(F\;{\mathop {=}\limits ^{def}}\; F_1|\,Q_1\). By induction hypothesis, \( [\![P_1 ]\!]^{}_{}{\xrightarrow {a(H)}} T_1 = [\![F_1 ]\!]^{}_{}\{H/Y\} \) where \(H\equiv \langle Z \rangle \overline{m}Z\). Thus
$$\begin{aligned}{}[\![P ]\!]^{}_{}\equiv [\![P_1 ]\!]^{}_{}|\, [\![Q_1 ]\!]^{}_{} {\xrightarrow {a(H)}} T_1|\, [\![Q_1 ]\!]^{}_{}&= [\![F_1 ]\!]^{}_{}\{H/Y\} |\, [\![Q_1 ]\!]^{}_{} \\&= ( [\![F_1 ]\!]^{}_{}|\, [\![Q_1 ]\!]^{}_{})\{H/Y\} \\&= ( [\![F_1|\,Q_1 ]\!]^{}_{})\{H/Y\} \\&= ( [\![F ]\!]^{}_{})\{H/Y\} \end{aligned}$$\(\square \)
Proof of Lemma 3
Proof
Based on the operational correspondence, our target is to prove \(P = Q\) implies \( [\![P ]\!]^{}_{} = [\![Q ]\!]^{}_{}\), through showing
is a normal bisimulation up-to \(=\) (see [19, 22] for up-to techniques). Remember “closed under (variable) substitution” means \(P\{A/X\} \;\mathcal {R}\; Q\{A/X\} \) for every \(A\) whenever \(P\mathcal {R} Q\) and they are (open) processes with occurrence of variable \(X\). Notice in the calculus \(\varPi ^D_n\), normal bisimulation characterizes context bisimulation; see [17, 19, 29] for proof reference. In normal bisimulation, the communicated process only needs to be confined to triggers (\(\langle Z \rangle \overline{m}Z.0\)) and the testing environment in the output clause only needs to be \(!n(X).[\,]\langle X \rangle \).
There are several cases needing analysis, among which the most crucial parts are concerning the communication of parameterized processes.
-
1.
\( [\![P ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{a(H)}} T\) in which \(H\equiv \langle Z \rangle \overline{m}Z\);
-
2.
\( [\![P ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{(m)\overline{a}T_1}} T\) in which \(T_1\equiv \langle Z \rangle \overline{m}Z\);
-
3.
\( [\![P ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{\tau }} T\)
We below proceed with their analysis.
-
Case \(1\). From the premise, \(T\equiv S\{H/Y\} \) for some \(S\), and by Lemma 2 \(P{\mathop {\Longrightarrow }\limits ^{a(G)}} P'\equiv F\{G/Y\} \) for some \(F\) and \(G\equiv \langle X_1, X_2 \rangle E\), and also \(S = [\![F ]\!]^{}_{}\). Because \(P = Q\), \(Q\) can simulate \(P\) with \(Q{\mathop {\Longrightarrow }\limits ^{a(G)}} Q'\equiv F'\{G/Y\} \) for some \(F'\), and \(P' = Q'\). Clearly we also have \(F = F'\). By Lemma 1, \( [\![Q ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{a(H)}} T' = [\![F' ]\!]^{}_{}\{H/Y\} \), then
$$ T = [\![F ]\!]^{}_{}\{H/Y\} \;\mathcal {R}\; [\![F' ]\!]^{}_{}\{H/Y\} = T' $$because \( [\![F ]\!]^{}_{} \;\mathcal {R}\; [\![F' ]\!]^{}_{}\) due to \(F = F'\).
-
Case \(2\). From the premise and Lemma 2, \(P{\mathop {\Longrightarrow }\limits ^{(\widetilde{c})\overline{a}[\langle X_1, X_2 \rangle E]}} P' \) and
$$ T = (\widetilde{c})( [\![P' ]\!]^{}_{}|\, [\![\langle X_1, X_2 \rangle E ]\!]^{}_{}). $$Since \(P = Q\), \(Q\) can simulate \(P\) by \(Q {\mathop {\Longrightarrow }\limits ^{(\widetilde{d})\overline{a}G}} Q'\) and
$$\begin{aligned} (\widetilde{c})(P'|\,C[\langle X_1, X_2 \rangle E]) = (\widetilde{d})(Q'|\,C[G]) \end{aligned}$$(1)for every \(\varPi ^D_2\) context \(C\)[ ]. There are two cases: whether \(G\) is a parameterization or not. Actually they can be similarly dealt with, so we only consider the case \(G\equiv \langle X_1, X_2 \rangle F\) which is a little more complicated. Then by Lemma 1,
$$ [\![Q ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{(m)\overline{a}[\langle Z \rangle \overline{m}Z]}} T' = (\widetilde{d})( [\![Q' ]\!]^{}_{}|\, [\![\langle X_1, X_2 \rangle F ]\!]^{}_{}) $$We intend to show
$$ (m)(T|\,D[\langle Z \rangle \overline{m}Z]) \;\mathcal {R}\; (m)(T'|\,D[\langle Z \rangle \overline{m}Z]) $$for a \(\varPi ^D_1\) context \(D[\,]\equiv !n(X).[\,]\langle X \rangle \) in which \(n\) is fresh. Or equivalently
$$\begin{aligned}&\quad (m)((\widetilde{c})( [\![P' ]\!]^{}_{}|\, [\![\langle X_1, X_2 \rangle E ]\!]^{}_{})|\,!n(X).\overline{m}X) \nonumber \\&\mathcal {R}\; (m)((\widetilde{d})( [\![Q' ]\!]^{}_{}|\, [\![\langle X_1, X_2 \rangle F ]\!]^{}_{})|\,!n(X).\overline{m}X) \end{aligned}$$(2)In terms of (1), it is obvious that when fixing \(C[\,]\equiv (m)([\,]|\,!n(X).\overline{m}X)\) we have
$$ (\widetilde{c})(P'|\,(m)(\langle X_1, X_2 \rangle E|\,!n(X).\overline{m}X)) = (\widetilde{d})(Q'|\,(m)(\langle X_1, X_2 \rangle F|\,!n(X).\overline{m}X)) $$which becomes the following after applying some structural adjustment
$$\begin{aligned} (m)((\widetilde{c})(P'|\,\langle X_1, X_2 \rangle E) |\,!n(X).\overline{m}X) = (m)((\widetilde{d})(Q'|\,\langle X_1, X_2 \rangle F)|\,!n(X).\overline{m}X) \end{aligned}$$(3)Now it is not hard to see that the left and right side of \(=\) in (3) are respectively encoded into the left and right side of \(\mathcal {R}\) in (2). That virtually proves the validity of (2) by the definition of \(\mathcal {R}\).
-
Case \(3\). From the premise and Lemma 2, \(P{\mathop {\Longrightarrow }\limits ^{\tau }} \text{ and } T{\mathop {\Longrightarrow }\limits ^{}} \cdot = [\![P' ]\!]^{}_{}\) or simply \(T = [\![P' ]\!]^{}_{}\). Since \(P = Q\), we have \(Q{\mathop {\Longrightarrow }\limits ^{\tau }} Q' \text{ and } P' = Q' \). Then by Lemma 1, \( [\![Q ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{\tau }} T' = [\![Q' ]\!]^{}_{}\). Thus
$$ T = [\![P' ]\!]^{}_{} \;\mathcal {R}\; [\![Q' ]\!]^{}_{} = T'. $$
Now the proof is completed. \(\square \)
1.2 Proofs for Sect. 4
Proof of Lemma 5
Proof
We only prove the strong transition correspondence part. The proof proceeds by induction on the structure of \(P\), we consider the following cases.
-
Case 1. \(P \equiv a(X).P_1\). \(P\) can only do an input action, suppose that \(P {\xrightarrow {a(A)}} P'\) and \(P'\equiv P_1\{A/X\}\), then we have
$$ [\![P ]\!]^{}_{} \equiv a(X). [\![P_1 ]\!]^{}_{} {\xrightarrow {a( [\![A ]\!]^{}_{})}} \equiv [\![P_1 ]\!]^{}_{}\{ [\![A ]\!]^{}_{}/X\} = [\![P_1\{A/X\} ]\!]^{}_{}. $$ -
Case 2. \(P \equiv P_1 | P_2\). There are 3 subcases.
-
1.
\(P {\xrightarrow {(\widetilde{c})\bar{a}A}} P'\). W.l.o.g. we can assume this is caused by \(P_1 {\xrightarrow {(\widetilde{c})\bar{a}A}} P_1'\) and \(P' \equiv P_1' | P_2\). Then by I.H. we have \( [\![P_1 ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {(\widetilde{c})\bar{a} [\![A ]\!]^{}_{}}} T_1\) and \(T_1 = [\![P_1' ]\!]^{}_{}\). As a result we have \( [\![P ]\!]^{}_{} \equiv [\![P_1 ]\!]^{}_{} | [\![P_2 ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {(\widetilde{c})\bar{a} [\![A ]\!]^{}_{}}} T_1 | [\![P_2 ]\!]^{}_{}\) and \(T_1 | [\![P_2 ]\!]^{}_{} = [\![P_1' ]\!]^{}_{}| [\![P_2 ]\!]^{}_{} = [\![P' ]\!]^{}_{}\).
-
2.
\(P {\xrightarrow {a(A)}} P'\) this is case is similar to the above.
-
3.
\(P {\xrightarrow {\tau }} P'\). W.l.o.g. we assume that this is caused by \(P_1 {\xrightarrow {a(A)}} P_1\), \(P_2 {\xrightarrow {(\widetilde{c})\bar{a}A}} P_2'\) and \(P' \equiv (c)(P_1'|P_2')\). By I.H. we have \( [\![P_1 ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {a( [\![A ]\!]^{}_{})}} T_1 = [\![P_1' ]\!]^{}_{}\) and \( [\![P_2 ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {(\widetilde{c})\bar{a} [\![A ]\!]^{}_{}}} T_2 = [\![P_2' ]\!]^{}_{}\). As a result \( [\![P ]\!]^{}_{} \equiv [\![P_1 ]\!]^{}_{}| [\![P_2 ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{\tau }} T \) and
$$T \equiv (\widetilde{c})(T_1|T_2) = (\widetilde{c})( [\![P_1' ]\!]^{}_{}| [\![P_2' ]\!]^{}_{}) \equiv [\![P' ]\!]^{}_{}.$$
-
1.
-
Case 3. \(P \equiv \bar{a}A.P_1\) or \(P \equiv (c)P_1\). This case is similar to case 2.
-
Case 4. \(P \equiv A\langle P_1 \rangle \). Suppose that \(A \equiv \langle X \rangle Q\) and \(P {\xrightarrow {\lambda }} P'\) there are three subcases to consider: \(\lambda = a(B)\), \(\lambda = (\widetilde{c})\bar{a}E\) and \(\lambda = \tau \). We only deal with the case that \(\lambda = a(B)\), the others are similar. Consider the different cause of \(P {\xrightarrow {a(B)}} P'\).
-
1.
If \(P {\xrightarrow {a(B)}} P'\) is caused by \(Q\), then we can assume that \(Q\{P_1 / X \} {\xrightarrow {a(A)}} P' \equiv Q_1\{P_1 /X \}\{ A / Y \}\) and \(Q\{\bar{m}0 / X\} {\xrightarrow {a(A)}} Q_1\{\bar{m}0 / X\}\{A / Y \}\). By I.H. \( [\![Q\{\bar{m}0 / X\} ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {a( [\![A ]\!]^{}_{})}} T'\) and \(T' = [\![Q_1\{\bar{m}0 / X\}\{ A / Y \} ]\!]^{}_{}\). Thus we have \( [\![P ]\!]^{}_{} \equiv (m)( [\![Q ]\!]^{}_{}\{\bar{m}0 / X \}| !m. [\![P_1 ]\!]^{}_{}) {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {a( [\![A ]\!]^{}_{})}} T\) and
$$\ T = (m)(T' | !m. [\![P_1 ]\!]^{}_{}) = (m)( [\![Q_1\{\bar{m}0 / X\}\{ A / Y \} ]\!]^{}_{} | !m. [\![P_1 ]\!]^{)}_{=} [\![P' ]\!]^{}_{}$$ -
2.
If \(P {\xrightarrow {a(B)}} P'\) is caused by \(P_1{\xrightarrow {a(A)}} P_2\) then we have \(Q \equiv Q'| X\) for some \(Q'\) , \(Q\{P_1/X\} \equiv Q'\{P_1/X\} | P_1\) and \(P' \equiv Q'\{P_1/X\} | P_2\). By I.H. \( [\![P_1 ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {a( [\![A ]\!]^{}_{})}} T'\) and \(T' = [\![P_2 ]\!]^{}_{}\). Then
$$\begin{aligned}{}[\![P ]\!]^{}_{} \qquad \equiv \qquad&(m)( [\![Q ]\!]^{}_{}\{\bar{m}0 / X \}\langle m \rangle | !m. [\![P_1 ]\!]^{}_{}) \\ \equiv \qquad&(m)( [\![Q'|X ]\!]^{}_{}\{\bar{m}0 / X \}\langle m \rangle | !m. [\![P_1 ]\!]^{}_{}) \\ {\xrightarrow {\tau }} \qquad&(m)( [\![Q' ]\!]^{}_{}\{\bar{m}0 / X \}\langle m \rangle | [\![P_1 ]\!]^{}_{}| !m. [\![P_1 ]\!]^{}_{}) \\ {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {a( [\![A ]\!]^{}_{})}} \;&(m)( [\![Q' ]\!]^{}_{}\{\bar{m}0 / X \}\langle m \rangle |T'| !m. [\![P_1 ]\!]^{}_{}) \\ = \qquad&(m)( [\![Q' ]\!]^{}_{}\{\bar{m}0 / X \}\langle m \rangle | [\![P_2 ]\!]^{}_{}| !m. [\![P_1 ]\!]^{}_{}) \\ \equiv \qquad&[\![P' ]\!]^{}_{} \end{aligned}$$\(\square \)
-
1.
Proof of Lemma 7
Proof
We prove the relation \(\mathcal {R}\) defined by
is a context bisimulation up-to \(=\). Suppose that \(P {\mathop {\Longrightarrow }\limits ^{\lambda }} T\), there are three cases to consider.
-
Case 1. \(\lambda = a(A)\). By Lemma 6, \(P {\mathop {\Longrightarrow }\limits ^{a(A)}} P'\) and \(T = [\![P' ]\!]^{}_{}\). Since \(P = Q\) , then \(Q\) can simulate \(P\) with \(Q {\mathop {\Longrightarrow }\limits ^{a(A)}} Q' = P'\). By Lemma 5 we know that \( [\![Q ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{a( [\![A ]\!]^{}_{})}} T'\) and \(T' = [\![Q' ]\!]^{}_{}\). As \(A\) is an \(\varPi ^d_1\) agent, \( [\![A ]\!]^{}_{} \equiv A\). In conclusion we got \( [\![Q ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{a(A)}} T'\) and
$$ T = [\![P' ]\!]^{}_{} \mathcal {R} [\![Q' ]\!]^{}_{} = T' $$ -
Case 2. \(\lambda = (\widetilde{c})\bar{a} A\). By Lemma 6, there exists some \(\widetilde{c}\), \(A'\) s.t. \(P {\mathop {\Longrightarrow }\limits ^{(\widetilde{c})\bar{a}A'}} P'\) with \(T = [\![P' ]\!]^{}_{}\) and \( [\![A' ]\!]^{\equiv }_{A}\). Since \(P = Q\), then \(Q\) can simulate \(P\) with \(Q {\mathop {\Longrightarrow }\limits ^{(\widetilde{d})\bar{a}B'}} Q'\) for some \(\widetilde{d}\) and \(B'\) s.t. for every process \(E[\,]\) with \(\widetilde{c}\widetilde{d}\cap fn(E[\,])=\emptyset \) it holds that
$$\begin{aligned} (\widetilde{c})(E[A']|\,P') = (\widetilde{d})(E[B']|\,Q') \end{aligned}$$(*)By Lemma 5 , there exist some \(T'\) s.t. \(Q{\mathop {\Longrightarrow }\limits ^{(\widetilde{d})\bar{a} [\![B' ]\!]^{}_{}}} T'\) and \(T' = [\![Q' ]\!]^{}_{}\). And from (*) we know that for every process \(F [\,]\) without higher-order abstraction and higher-order application s.t. \(\widetilde{c}\widetilde{d}\cap fn(F[\,])=\emptyset \) we have
$$ (\widetilde{c})(F [A]|\, [\![P' ]\!]^{}_{}) \,\mathcal {R}\, (\widetilde{d})(F [B]|\, [\![Q ]\!]^{}_{})\quad {\text {(let}}~{\text {B}} \equiv [\![B' ]\!]^{}_{}) $$In conclusion we have \(Q{\mathop {\Longrightarrow }\limits ^{(\widetilde{d})\bar{a}B}} T'\) and for every process \(F[\,]\) s.t. \(\widetilde{c}\widetilde{d}\cap fn(F[\,])=\emptyset \) we have
$$\begin{aligned} T = (\widetilde{c})(F [A]|\, [\![P' ]\!]^{}_{}) \,\mathcal {R}\, (\widetilde{d})(F [B]|\, [\![Q ]\!]^{}_{}) = T' \end{aligned}$$ -
Case 3. \(\lambda = \tau \). This case is similar to the case 1. \(\square \)
Rights and permissions
Copyright information
© 2014 Science and Engineering Faculty
About this paper
Cite this paper
Xu, X., Yin, Q., Long, H. (2014). On the Expressiveness of Parameterization in Process-Passing. In: Tuosto, E., Ouyang, C. (eds) Web Services and Formal Methods. WS-FM 2013. Lecture Notes in Computer Science(), vol 8379. Springer, Cham. https://doi.org/10.1007/978-3-319-08260-8_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-08260-8_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-08259-2
Online ISBN: 978-3-319-08260-8
eBook Packages: Computer ScienceComputer Science (R0)