Recursive equations in higher-order process calculi

Similar documents
Strong bisimilarity can be opened

Review of The π-calculus: A Theory of Mobile Processes

Trace Refinement of π-calculus Processes

Their proof is rather lengthy and hard to grasp; it ultimately relies on showing a periodicity for any transition graph generated from normed context-

Electronic Notes in Theoretical Computer Science 18 (1998) URL: 8 pages Towards characterizing bisim

Formalising the π-calculus in Isabelle

An introduction to process calculi: Calculus of Communicating Systems (CCS)

Fundamenta Informaticae 30 (1997) 23{41 1. Petri Nets, Commutative Context-Free Grammars,

A Graph Rewriting Semantics for the Polyadic π-calculus

A Note on Scope and Infinite Behaviour in CCS-like Calculi p.1/32

Probabilistic Bisimilarity as Testing Equivalence

Communication Errors in the π-calculus are Undecidable

Equations, contractions, and unique solutions

Clausal Presentation of Theories in Deduction Modulo

Models of Concurrency

Distributed processes and location failures

Behavioural theories and the proof of. LIENS, C.N.R.S. U.R.A & Ecole Normale Superieure, 45 Rue d'ulm, F{75230 Paris Cedex 05, France

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice

2 x jj (y jj z) (x jj y) jj z is derivable (see Baeten and Weijland (1990)); however, the axiom itself is not derivable. If an equational specication

1 Introduction to Predicate Resolution

Communication Problems in the 7r-Calculus. M. R. F. Benevides* F. Prottit

Characterising FS domains by means of power domains

A version of for which ZFC can not predict a single bit Robert M. Solovay May 16, Introduction In [2], Chaitin introd

Functional Database Query Languages as. Typed Lambda Calculi of Fixed Order. Gerd G. Hillebrand and Paris C. Kanellakis

Nominal Completion for Rewrite Systems with Binders

Unique xpoint induction for message-passing process calculi

Lecture Notes on Inductive Definitions

Concurrent Processes and Reaction

A note on coinduction and weak bisimilarity for while programs

Bounded Stacks, Bags and Queues

An Equational Axiomatization for Multi-Exit Iteration

Lifting to non-integral idempotents

Making Components Move: A Separation of Concerns Approach

A Unique Decomposition Theorem for Ordered Monoids with Applications in Process Theory

Supplementary Notes on Inductive Definitions

Dipartimento di Informatica Università degli Studi di Verona

Decision Problems Concerning. Prime Words and Languages of the

A Propositional Dynamic Logic for Instantial Neighborhood Semantics

Extending Howe s Method to Early Bisimulations for Typed Mobile Embedded Resources with Local Names

hal , version 1-21 Oct 2009

Decidable Subsets of CCS

EMBEDDED SYSTEMS WILLIAM C. ROUNDS AND HOSUNG SONG

Lecture Notes on Inductive Definitions

Bisimulation and coinduction in higher-order languages

Computability and Complexity

Computer Science at Kent

{ In reasoning about a protocol, we need to consider its behaviour in reaction to inputs from the environment. These inputs are not entirely arbitrary

modal logic can easily be used but the drawback that the translation does not generalise to arbitrary functors. Therefore, the second approach is to u

An Alternative To The Iteration Operator Of. Propositional Dynamic Logic. Marcos Alexandre Castilho 1. IRIT - Universite Paul Sabatier and

The π-calculus. From CCS to π-calculus. The π-calculus - Basic Ideas 4/1/2004. Overview Syntax Reaction, actions, and transitions

2 C. A. Gunter ackground asic Domain Theory. A poset is a set D together with a binary relation v which is reexive, transitive and anti-symmetric. A s

Bisimulation for conditional modalities

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980

Distributed Processes and Location Failures (Extended Abstract)

EXTENDED ABSTRACT. 2;4 fax: , 3;5 fax: Abstract

Computability via the Lambda Calculus with Patterns

On minimal models of the Region Connection Calculus

The nite submodel property and ω-categorical expansions of pregeometries

Note On Parikh slender context-free languages

Quantum logics with given centres and variable state spaces Mirko Navara 1, Pavel Ptak 2 Abstract We ask which logics with a given centre allow for en

Time values are often denoted as positive real numbers including zero. We dene symbols to present the events of processes. Denition 2.2 l Let A be an

Communicating and Mobile Systems

39 A Logic for True Concurrency

A Logical Viewpoint on Process-Algebraic Quotients

From CCS to Hybrid π via baby steps. Bill Rounds CSE, U of Michigan

Consequence Relations and Natural Deduction

Composition and Decomposition of DPO Transformations with Borrowed Context

A shrinking lemma for random forbidding context languages

Herbrand Theorem, Equality, and Compactness

Wojciech Penczek. Polish Academy of Sciences, Warsaw, Poland. and. Institute of Informatics, Siedlce, Poland.

Explicit Logics of Knowledge and Conservativity

An Introduction to the Theory of Coalgebras

Business Process Management

Predicate Logic. Xinyu Feng 09/26/2011. University of Science and Technology of China (USTC)

The Lambek-Grishin calculus for unary connectives

How to Pop a Deep PDA Matters

Independence of Boolean algebras and forcing

Compositionality in SLD-derivations and their abstractions Marco Comini, Giorgio Levi and Maria Chiara Meo Dipartimento di Informatica, Universita di

First-Order Logic. Chapter INTRODUCTION

A Weak Bisimulation for Weighted Automata

Note Watson Crick D0L systems with regular triggers

4 Phase semantics Phase semantics of intuitionistic linear logic Proving safety properties of LCC programs with the phase se

Bisimulation Congruences for Homer

From Constructibility and Absoluteness to Computability and Domain Independence

On the Computation Power of Name Parameterization in Higher-order Processes

Postprint.

Partial model checking via abstract interpretation

As a rst step, we concentrate in this paper on the second problem and we abstract from the problem of synchronisation. We therefore dene a denotationa

Omitting Types in Fuzzy Predicate Logics

CS522 - Programming Language Semantics

Madhavan Mukund Chennai Mathematical Institute

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw

Linear Algebra (part 1) : Vector Spaces (by Evan Dummit, 2017, v. 1.07) 1.1 The Formal Denition of a Vector Space

Compatibility and inheritance in software architectures

How to Prove Similarity a Precongruence in Non-Deterministic Call-by-Need Lambda Calculi

CS632 Notes on Relational Query Languages I

Communication and Concurrency: CCS

Kirsten Lackner Solberg. Dept. of Math. and Computer Science. Odense University, Denmark

Exhaustive Classication of Finite Classical Probability Spaces with Regard to the Notion of Causal Up-to-n-closedness

7 RC Simulates RA. Lemma: For every RA expression E(A 1... A k ) there exists a DRC formula F with F V (F ) = {A 1,..., A k } and

Transcription:

Theoretical Computer Science 266 (2001) 839 852 www.elsevier.com/locate/tcs Recursive equations in higher-order process calculi Mingsheng Ying a; ;1, Martin Wirsing b a State Key Laboratory of Intelligent Technology and Systems, Department of Computer Science and Technology, Tsinghua University, Beijing 100084, People s Republic of China b Institut fur Informatik, Ludwig-Maximilians-Universitat Munchen, Oettingenstr. 67, 80538 Munchen, Germany Received July 1999; revised June 2000; accepted August 2000 Communicated by M. Nivat Abstract Regarding behaviour equivalence in higher-order process calculi, Sangiorgi (Inform. and Comput. 131 (1996) 141) and Thomsen (Inform. and Comput. 116 (1995) 38) introduced context and higher-order bisimulations, respectively. In this paper, uniqueness of solutions of equations with respect to strong context and higher-order bisimilarities and compatibility of strong context and higher-order bisimilarities with recursive denitions are shown. c 2001 Elsevier Science B.V. All rights reserved. 1. Introduction Recently, various higher-order process calculi have been proposed as generalizations of CCS in which processes are allowed to be sent and received in communication; see, for examples, [1, 3, 4, 9 15]. As pointed out by Thomsen [13], in higher-order process calculi the operators of prex, (nondeterministic) choice and parallel composition are equally fundamental and do not allow much variation, but there seems to be room for various constructions of the restriction. There are mainly two dierent approaches to deal with the restriction operator in higher-order process calculi: dynamic one and static one. Let us explain this by an example. Suppose, e.g., a?x:p and (a!q 1 :Q 2 )\b be two (higher-order) processes (here we use the notation in [14] which is similar to Corresponding author. E-mail addresses: yingmsh@mail.tsinghua.edu.cn (M. Ying), wirsing@informatik.uni-muenchen.de (M. Wirsing). 1 Supported by the National Foundation for Distinguished Young Scholars (Grant No: 69725004), Key Project for Basic Research (Grant No: 1998030509), Research and Development Project of High-Technology (Grant No: 863-306-ZT06-04-3) and Foundation of Natural Sciences (Grant No: 69823001) of China, and this work was carried out when the author was at Insitut fur Informatik, Ludwig-Maximilian-Universtat Munchen as an Alexander von Humboldt research fellow. 0304-3975/01/$ - see front matter c 2001 Elsevier Science B.V. All rights reserved. PII: S0304-3975(00)00378-9

840 M. Ying, M. Wirsing / Theoretical Computer Science 266 (2001) 839 852 that in CSP) such that b is a port name which occurs free in both Q 1 and Q 2 but not in P: Then using the static approach, roughly speaking, an interaction between the processes a?x:p and (a!q 1 :Q 2 )\b may lead to a scope extrusion of restriction \: a?x:p (a!q 1 :Q 2 )\b (P[Q 1 =X ] Q 2 )\b: By contrast, with the dynamic approach we would have the following transition: a?x:p (a!q 1 :Q 2 )\b P[Q 1 =X ] (Q 2 \b): At the early stage of the development of higher-order process calculi, it was not known how to give a semantics to restriction as a static binder, and many eorts in higher-order process calculi dealt with the dynamic restriction; see [1, 3, 4, 11, 12, 14] for examples. In [7], Milner et al. gave a reasonable treatment of static restriction. Afterwards, many works on higher-order process calculi were also devoted to treat restriction as a static binder; for examples, see [9, 10, 13]. Milner and Park s bisimulation equivalence [5, 8] is one of the central notions in process calculi. As its generalization, Thomsen [14] introduced the concept of higher-order bisimulations in his higher-order process calculus CHOCS and showed that higher-order bisimilarity enjoys many satisfactory algebraic properties; in particular, it is a congruence under various operators in CHOCS and almost all equational laws for CCS carry over unchanged for it. Then, Sangiorgi [10] argued that higher-order bisimulation is sometimes over-discriminating and proposed the notion of context bisimulation and derived some useful algebraic laws for context bisimilarity. An important way to specify some complicated process is recursive denitions. In CCS [5, 6], recursive denitions are shown to be compatible with bisimilarity. However, a corresponding result for both context bisimilarity and higher-order bisimilarity is still to be established. Similarly, uniqueness of solutions of equations in CCS was proven and it was used as a powerful proof technique to equate some very complex processes [6]. But it is still an open problem whether context and higher-order bisimilarities enjoy uniqueness of solutions of equations. The purpose of this paper is to prove uniqueness of solutions of equations with respect to Sangiorgi s strong context bisimilarity and compatibility of strong context bisimilarity with recursive denitions. The proof technique employed in this paper is a reexive and transitive closure version of bisimulation up to bisimilarity. At the end of this paper, we also point out that a similar proof technique is able to prove the corresponding results for Thomsen s higher-order bisimilarity in CHOCS [14]. Unfortunately, this technique fails to tackle the case of weak bisimulations and so the corresponding problem for weak context and higher-order bisimulations is still unsolved. 2. Strong context bisimulations For the sake of convenience, in this section we recall some results and notations from Sangiorgi s context bisimulation theory [10]. Let I be the countable innite

M. Ying, M. Wirsing / Theoretical Computer Science 266 (2001) 839 852 841 set of rst-order names, let be the countable innite set of higher-order names, let I def = { m : m I }; def = { a : a }; @ def = I and @ def = I ; and let stand for the silent action. We use symbols m; n for names in I, symbols a; b; c for names in, and symbols x; y; z for names in @, and we let l range over I I {} and range over @ @ {}. We also assume a countable innite set of process variables, ranged over by X; Y; Z; and a countable innite set of process constants, ranged over by K; L; in particular, 0 is a process constant. There are three syntactic categories in the language of higher-order process calculus, they are categories of processes, abstractions and concretions, and their grammars are as follows: 1. Processes P ::= X K l:p a:f a:c P 1 P 2 vxp!p 2. Abstractions F ::= (X )P 3. Concretions C ::= P 1 P 2 vxc P; P 1 ;P 2 range over processes, F ranges over abstractions, and C ranges over concretions, l: is a rst-order prex, and is parallel composition. Furthermore, a: is a higher-order input prex and a: is a higher-order output prex. Intuitively, process a:f with F =(X )P can receive a process, say Q; at port a and then continues as P{Q=X }; and process a:c with C = P 1 P 2 can perform an output action at port a emitting process P 1 and then continues as P 2 : Finally, vxp is a restriction and a replication!p stands intuitively for an innite number of copies of P in parallel. We dene agents as follows: A ::= P F C: An abstraction (X )P binds all free occurrences of X in P, and a restriction vxa binds all free occurrences of x in A. An agent is closed if it does not contain any free process variable. The sets of all processes and all closed processes are denoted by r and 0r, respectively. For any process constant K; we suppose that K has a dening equation K def = P in which P 0r. Note that K may occur in P and therefore the dening equation may be recursive. The only dierence between our language and the original one dealt with in [10] is that process constants are added, for we shall discuss recursive denitions in this paper. To present elegantly the transitional semantics of the language, we need some auxiliary operations on abstractions and concretions: (1) Let F =(X )Q: If X= fv(p) (the set of all free process variables in P), then F P denotes (X )(Q P) and P F denotes (X )(P Q); and vxf denotes (X )vxq: (2) Let C = v x Q R. If{ x} fn(p) (the set of all free names in P) =, then C P and P C denote v x Q (R P) and v x Q (P R); respectively. (3) If F =(X )P; C =v x Q R, and { x} fn(p)=, then we set F C def = v x(p{q=x } R) and C F def = v x(r P{Q=X }). The transitional semantics of higher-order process calculus may be given by the following rules: Alpha: P and Q are alpha convertible, and Q A imply P A.

842 M. Ying, M. Wirsing / Theoretical Computer Science 266 (2001) 839 852 Prex: :A A. Parallelism: P 1 A implies P1 P 2 A P2. m First-order communication: P 1 P m 1 and P 2 P 2 imply P 1 P 2 P 1 P 2. a a Higher-order communication: P 1 F and P2 C imply P 1 P 2 F C. Restriction: P A and = {x; x} imply vxp vxa. Replication: P!P A implies!p A. Constant: P A and K def = P imply K A. (Here we have omitted the symmetric rules of the parallelism and communications.) As a reasonable generalization of the concept of strong bisimulation in CCS, Sangiorgi [10] introduced the following: Denition 2.1 (Strong context bisimulation; Sangiorgi [10; Denition 3:1]). A relation R 0r 0r is a strong context simulation if PRQ implies 1. whenever P l P ; there exists Q s.t. Q l Q and P RQ ; 2. whenever P a F; there exists G s.t. Q a G and C FRC G; F CRG C for all closed concretions C; and 3. whenever P a C; there exists D s.t. Q a D and F CRF D; C FRD F for all closed abstractions F: A relation R is a strong context bisimulation ( Ct -bisimulation, for short) if both R and R 1 are strong context simulations. If PRQ for some Ct -bisimulation R, then we say P and Q are strongly context bisimilar, written P Ct Q: It is easy to show that Ct is an equivalence relation and it is the greatest Ct -bisimulation. Ct possesses the following recursive characterisation which is a generalization of Proposition 4:4 in [6]. Lemma 2.1. P Ct Q i the following three statements and their duals hold: 1. whenever P l P ; there exists Q s.t. Q l Q and P Ct Q ; 2. whenever P a F; there exists G s.t. Q a G and C F Ct C G; F C Ct G C for all closed concretions C; and 3. whenever P a C; there exists D s.t. Q a D and F C Ct F D; C F Ct D F for all closed abstractions F: Proof. The part for only if is obvious because Ct is a Ct -bisimulation. For the if part, we dene the binary relation P Q on 0r to be that statements 1 3 and their duals hold for P and Q. It is easy to show that is a Ct -bisimulation. Then Ct. The notion of strong context bisimilarity may be naturally extended to all open agents: Denition 2.2 (Sangiorgi [10; Denition 3:2]). 1. For closed abstractions F 1 and F 2 ; we set F 1 Ct F 2 if C F 1 Ct C F 2 ;F 1 C Ct F 2 C for all closed concretions C:

M. Ying, M. Wirsing / Theoretical Computer Science 266 (2001) 839 852 843 2. For closed concretions C 1 and C 2 ; we set C 1 Ct C 2 if F C 1 Ct F C 2 ;C 1 F Ct C 2 F for all closed abstractions F: 3. For open agents A 1 and A 2 with fv(a 1 ;A 2 ) { X }; we set A 1 Ct A 2 if A 1 { P= X } Ct A 2 { P= X } for all closed processes P. Some equational laws in CCS can be generalized to strong context bisimilarity. Proposition 2.2 (Sangiorgi [10, Lemma 3:2]). 1. P 1 P 2 Ct P 2 P 1. 2. P 1 (P 2 P 3 ) Ct (P 1 P 2 ) P 3. 3. P 0 Ct P; 4. IfL is a sort of P; i.e.; L @ @ and actions of P and its derivatives lie in L {}; and x; x = L; then vxp Ct P. 5. vxvya Ct vyvxa. 6. IfL i is a sort of P i for i =1; 2; and x; x L 1 L 2 ; then vx(p 1 P 2 ) Ct (vxp 1 ) (vxp 2 ). 7.!P Ct P!P. Similar to the situation in CCS, the up-to technique is very useful to build up strong context bisimulations and the technique employed to establish our main results in this paper is a reexive and transitive closure version of it. Denition 2.3 ( Ct -Bisimulation up-to Ct ; Sangiorgi [10; Denition 3:3]). A relation R 0r 0r is a Ct -simulation up-to Ct if PRQ implies 1. whenever P l P ; there exists Q s.t. Q l Q and P Ct R Ct Q ; 2. whenever P a F; there exists G s.t. Q a G and C F Ct R Ct C G; F C Ct R Ct G C for all closed concretions C; and 3. whenever P a C; there exists D s.t. Q a D and F C Ct R Ct F D; C F Ct R Ct D F for all closed abstractions F: If both R and R 1 are Ct -simulations up-to Ct, then R is called a Ct -bisimulations up-to Ct. The following lemma gives rise to the up-to technique. Lemma 2.3 (Sangiorgi [10, Lemma 3.3]). If R is a Ct -bisimulation up-to Ct ; then R Ct. As expected, Ct is substitutive under all operators in our calculus. Proposition 2.4 (Congruence of Ct ; Sangiorgi [10, Theorem 3:1]). 1: A 1 Ct A 2 implies vxa 1 Ct vxa 2 ; and :A 1 Ct :A 2 : 2. P 1 Ct P 2 implies P 1 Q Ct P 2 Q;!P 1 Ct!P 2 ; P 1 Q Ct P 2 Q; Q P 1 Ct Q P 2 ; and (X )P 1 Ct (X )P 2. Proposition 2.5. 1. Let F 1 =(X )P 1 and F 2 =(Y )P 2 : Then F 1 Ct F 2 i for all processes Q; P 1 {Q=X } Ct P 2 {Q=Y }: 2. Let C 1 = v x P 1 P 2 and C 2 = vũ Q 1 Q 2 : If C 1 Ct C 2 ; then v xp 2 Ct vũq 2 :

844 M. Ying, M. Wirsing / Theoretical Computer Science 266 (2001) 839 852 Proof. 1. ( ) Putting C = Q 0; we obtain with Proposition 2:2:3 P 1 {Q=X } Ct 0 P 1 {Q=X } = C F 1 Ct C F 2 = 0 P 2 {Q=X } Ct P 2 {Q=X }: ( ) For any C = vũ Q 1 Q 2 ; we have P 1 {Q 1 =X } Ct P 2 {Q 1 =X }; and furthermore it follows from Proposition 2.4 that C F 1 = vũ(q 2 P 1 {Q 1 =X }) Ct vũ(q 2 P 2 {Q 1 =X })=C F 2 : 2. Let F =(X )0: Then v xp 2 Ct v x(0 P 2 )=F C 1 Ct F C 2 = v x(0 Q 2 ) Ct v xq 2 : The rst part of this proposition explains that the dierence between context bisimulations and higher-order bisimulations in [14] (to be briey discussed in the nal section) mainly appears in the treatment of higher-order output transitions. 3. Recursive equations with respect to strong context bisimilarity This section is the major part of this paper, and we shall show that strong context bisimilarity is compatible with recursive denitions and prove uniqueness of solutions of equations with respect to strong context bisimilarity. To this end, we need a reexive and transitive closure version of the up-to technique. This is given by the following lemma which generalizes Lemma 2.3. Lemma 3.1. Let R 0 r 0 r and R = n=0 Rn be the reexive and transitive closure of R: Then R is a Ct -bisimulation if PRQ implies the following statements and their duals: 1. whenever P l P ; there exists Q s.t. Q l Q and P R Q ; 2. whenever P a F; there exists G s.t. Q a G and C FR C G; F CR G C for all closed concretions C; and 3. whenever P a C; there exists D s.t. Q a D and F CR F D; C FR D F for all closed abstractions F: Proof. We can easily prove PR n Q implies the above three assertions by induction on n. Now, we are ready to present our main results in this paper. Proposition 3.2 (Recursive denitions). 1. IfK def = P; then K Ct P.

M. Ying, M. Wirsing / Theoretical Computer Science 266 (2001) 839 852 845 2. Let P; Q r and fv( P; Q) { X }; and let If P Ct Q; then K Ct L: Proof. 1. Immediate from Lemma 2.1. 2. Let R = {(v xr{ K= X };v xr{ L= X }):fv(r) { X }}: K def = P{ K= X } and L def = Q{ L= X }: We are going to show that ( Ct R Ct ) is a Ct -bisimulation. To this end, with Lemma 3.1 it suces to demonstrate that P Ct R Ct Q implies the resulting statements of replacing R with ( Ct R Ct ) in the three conditions in Denition 2.1, i.e. 1. whenever P l P ; there exists Q s.t. Q l Q and P ( Ct R Ct ) Q ; 2. whenever P a F; there exists G s.t. Q a G and C F( Ct R Ct ) C G; F C( Ct R Ct ) G C for all closed concretions C; and 3. whenever P a C; there exists D s.t. Q a D and F C( Ct R Ct ) F D; C F( Ct R Ct ) D F for all closed abstractions F: Furthermore, by using Lemma 2.1 it is easy to know that we only need to prove that PRQ implies the above three items. Suppose that v xr{ K= X } A : Then R{ K= X } A; = { x} { x} and A = v xa: We are going to prove the following Claim 1. There exists B s.t. R{ L= X } B and (i) A( Ct R Ct ) B if = l; (ii) C A( Ct R Ct ) C B; A C( Ct R Ct ) B C for all closed concretions C if = a; and (iii) F A( Ct R Ct ) F B; A F( Ct R Ct ) B F for all closed abstractions F if =a: If we can prove this claim then v xr{ L= X } v xb, B ; for = { x} { x}; and furthermore we have the following three items and so complete the proof: (i) If = l; then from (i), Proposition 2:4:1 and the denition of R we obtain A = v xa( Ct R Ct ) v xb = B : (ii) If = a; then we let A =(Y )P 1 and B =(Z)P 2 : For each closed concretion C = vũ N 1 N 2 ; C A = C v x(y )P 1 = vũ N 1 N 2 (Y )v xp 1 = vũ(n 2 (v xp 1 ){N 1 =Y }): With -conversion it can be supposed that ({ x} { x}) (L 1 L 2 )= for some sorts L 1 ;L 2 of N 1 and N 2 ; respectively. Then by using Propositions 2:2:4 2:2:6 we derive C A = vũ(n 2 v xp 1 {N 1 =Y })

846 M. Ying, M. Wirsing / Theoretical Computer Science 266 (2001) 839 852 = vũ; x(n 2 P 1 {N 1 =Y }) = v x; ũ(n 2 P 1 {N 1 =Y }) = v x(c A): Similarly, we have C B = v x(c B): Thus, it follows that C A ( Ct R Ct ) C B from (ii), Proposition 2:4:1 and the denition of R: We also can prove A C( Ct R Ct ) B C: (iii) Similar to (ii), (iii) leads to F A ( Ct R Ct ) F B ;A F( Ct R Ct ) B F for all closed abstractions F: Now, we only need to prove Claim 1. We proceed by induction on the depth of inference R{ K= X } A. Case 1: R = X and R{ K= X } = K a A (a = { x} { x}): Then K a A must be derived by the Constant-rule and P{ K= X } a A because K def = P{ K= X }: With the induction hypothesis, we may assert P{ L= X } a B for some B with C A( Ct R Ct ) C B for all closed concretions C: Since P Ct Q; P{ L= X } Ct Q{ L= X } and there is B s.t. Q{ L= X } a B and C B Ct C B for all closed concretions C: Furthermore, L def = Q { L= X }; it holds that R{ L= X } = L a B; and C A( Ct R Ct ) C B: Case 2: R = X and R{ K= X } = K A ( = l or a): Similar to Case 2. Case 3: R = a:(y )R : With -conversion we may assume Y= { X } fv( K; L): Then R{ K= X } = a:(y )R { K= X } (Y a )R { K= X } = A; a= { x} { x}; and R{ L= X } = a:(y )R { L= X } a (Y )R { L= X }, B: For any closed concretion C = vũ Q 1 Q 2 ; C A = vũ(q 2 R { K= X }{Q 1 =Y }) = vũ(q 2 R { K= X }{Q 1 { K= X }=Y }) = vũ(q 2 R {Q 1 =Y }{ K= X }) = vũ(q 2 R {Q 1 =Y }){ K= X } because Q 1 and Q 2 are closed. At the same time, we also have C B = vũ(q 2 R {Q 1 =Y }) { L= X }: So, C ARC B: Case 4: R = l:r or a:c: Similar to Case 4. Case 5: R = R 1 R 2 ;R 1 { K= X } a F and R{ K= X } = R 1 { K= X } R 2 { K= X } a F R 2 { K= X } = A: With the induction hypothesis, there must be G s.t. R 1 { L= X } a G and for all closed concretions C; C F( Ct R Ct ) C G: Then R{ L= X } = R 1 { L= X } R 2 { L= X } a G R 2 { L= X }, B:

M. Ying, M. Wirsing / Theoretical Computer Science 266 (2001) 839 852 847 Assume F =(Y )P 1 ;G=(Z)P 2 and C = vũ N 1 N 2 : With Propositions 2:2:2, 2:2:4 and 2:2:6 we have C A = C (Y )(P 1 R 2 { K= X }) = vũ(n 2 (P 1 {N 1 =Y } R 2 { K= X })) (it is supposed that Y = fv(r 2 { K= X })) Ct vũ((n 2 P 1 {N 1 =Y }) R 2 { K= X }) =(vũ(n 2 P 1 {N 1 =Y })) R 2 { K= X } (we suppose that ({ũ} {ũ} L = for some sort of R 2 { K= X }) =(C F) R 2 { K= X }: To go ahead, we need the following auxiliary conclusion. Claim 2. If U( Ct R Ct ) V; then U W { K= X }( Ct R Ct ) V W { L= X }: Suppose that U( Ct R Ct ) n V: We may use induction on n to prove this conclusion. If n =0; it is clear. Let U( Ct R Ct ) n+1 V: Then U( Ct R Ct ) n U Ct R Ct V; and with the induction hypothesis we obtain U W { K= X }( Ct R Ct ) U W { L= X }: Furthermore, U Ct V { K= X }RV { L= X } Ct V; and with Proposition 2:4:2 we obtain U W { L= X } Ct V { K= X } W { L= X } =(V W { L= X }){ K= X } R(V W { L= X }){ L= X } = V { L= X } W { L= X } Ct V W { L= X } and U W { K= X }( Ct R Ct ) V W { L= X }: This completes the proof of this claim. Now, with the above claim we may obtain C A Ct (C F) R 2 { K= X }( Ct R Ct ) (C G) R 2 { L= X } Ct C B: Case 6: R = R 1 R 2 ;R{ K= X } A; and = l or a: Similar to Case 5. Case 7: R = R 1 R 2 ;R 1 { K= X } a F; R 2 { K= X } a C; and R{ K= X } = R 1 { K= X } R 2 { K= X } F C = A: The induction hypothesis tells us that there are G and D s.t. R 1 { L= X } G; a R 2 { L= X } a D; F C ( Ct R Ct ) G C for all closed concretions C ; and F C( Ct R Ct ) F D for all closed abstractions F : Then R{ L= X } = R 1 { L= X } R 2 { L= X }) G D, B and A = F C( Ct R Ct ) G C( Ct R Ct ) G D = B: (Here, we may know why we should take ( Ct R Ct ) instead of Ct R Ct in the standard up-to technique.) Case 8: R = R 1 R 2 ;R 1 { K= X } l P l ;R 2 { K= X } Q ; and R{ K= X } P Q : Similar to Case 7.

848 M. Ying, M. Wirsing / Theoretical Computer Science 266 (2001) 839 852 Case 9: R = vũr or!r or a process constant. Straightforward. X is said to be weakly guarded in P if each occurrence of X in P is within some subexpression :A of P: The following is a generalization of Lemma 4:13 in [6]. Lemma 3.3 (Sangiorgi [10, Lemma A.3]). If the variables P; and P{ Q= X } A; then there is an agent B such that (i) A = B{ Q= X }; and (ii) for any R; P{ R= X } B{ R= X }. X are weakly guarded in Proposition 3.4 (Uniqueness of solutions of equations). Let fv( P) { X }; and let X be weakly guarded in each P P. IfQ Ct P{ Q= X } and R Ct P{ R= X }; then Q Ct R. Proof. We set R = {(v xm{ Q= X };v xm{ R= X }): M r and fv(m) { X }}: Then it suces to show that ( Ct R Ct ) is a Ct -bisimulation. With Lemmas 2.1 and 3.1, we only need to prove PRQ implies the resulting statements of replacing R by ( Ct R Ct ) in the three assertions in Denition 2.1. Similar to the proof of Proposition 3.2, we may proceed by induction on the depth of inference M{ Q= X } A ( = { x} { x}). The only dierence which we should pay close attention to is the case of M = X X. If =a then M{ Q= X } = Q a A. From Q Ct P{ Q}={ X } and Lemmas 2.1 and 3.3 we have some B = vũ B 1 B 2 s.t. P{ Q= X } a B { Q= X }; F A Ct F B { Q= X } for all closed abstractions F; and P{ R= X } a B { R= X }; and from R Ct P { R= X } we can nd some B s.t. M{ R= X } = R a B and F B { R= X } Ct F B for all closed abstractions F: If F =(Y )N; then F A Ct F B { Q= X } =(Y )N vũ B 1 { Q= X } B 2 { Q= X } = vũ(n {B 1 { Q= X }=Y } B 2 { Q= X }) = vũ(n {B 1 =Y }{ Q= X } B 2 { Q= X }) (note (Y )N and Q are all closed) = vũ(n {B 1 =Y } B 2 ){ Q= X }Rvũ(N{B 1 =Y } B 2 ){ R= X } = F B { R= X } Ct F B and F A Ct R Ct F B. For = l or a; the proof is similar.

M. Ying, M. Wirsing / Theoretical Computer Science 266 (2001) 839 852 849 4. Final remarks In the last section, we used a reexive and transitive closure version of the upto technique and proved uniqueness of solutions of equations with respect to strong context bisimilarity and compatibility of strong context bisimilarity with recursive denitions. Here, we would like to present briey the corresponding results for higher-order bisimilarity in CHOCS [14]. We presuppose a countable innite set of (higher-order) names ranged over by a; b; c;:::; a countable innite set of process variables ranged over by X; Y; Z;:::; and a countable innite set of process constants ranged over by K; L;::: and including particularly 0. The syntax of CHOCS is given as follows: P ::= X K a?x:p a!p :P :P P + P P P P\a P[S] P; P range over processes, stands for the silent action, and S is a mapping from into itself. We use r to express the set of all processes. An input prex a?x is a binder of process variable X; and a restriction \a is a binder of name a. A process without free process variables is said to closed. The set of all closed processes is denoted by 0r : A dening equation K def = P with P 0r is assumed for each process constant K. It should be pointed out that the (original) language of CHOCS has no process constants as primary symbols and here process constants are added into it to provide a certain facility of recursive denitions. Thomsen [14] showed that recursive denitions may be encoded as some higher-order communications in CHOCS, but we argue that sometimes, especially in some applications, it would be more convenient to have explicit mechanism of recursive denitions. The transitional semantics of CHOCS is the transition system ( r; Act; ); where Act =( {?;!} r) {} and the transition relation is given by the following set of inference rules: Prex: a?x:p a?p P{P =X } a!p :P a!p P :P P: Choice: P P implies P + Q P. Parallelism: P P implies P Q P Q. (Higher-order) communication: P a?r P and Q a!r Q imply P Q P Q. Restriction: P a?r P and a b imply P\b a?r P \b P a!r P and a b imply P\b a!r P \b P P implies P\b P \b:

850 M. Ying, M. Wirsing / Theoretical Computer Science 266 (2001) 839 852 Renaming: P a?r P implies P[S] S(a)?R P [S] P a!r P implies P[S] S(a)!R P [S] P P implies P[S] P [S]: Constant: P P and K def = P imply K P. (Here is of the form a?r; a!r; or ; and the symmetric of the choice, parallelism and communication are omitted.) Thomsen [14] proposed the concept of strong higher-order bisimulation. Denition 4.1 (Higher-order strong bisimulation; Thomsen [14; Denition 3:3]). A higher-order strong simulation is a binary relation R on 0r such that whenever PRQ and R 0r ; then 1. whenever P a?r P ; there exist Q ;R s.t. Q a?r Q ;P RQ and RRR ; 2. whenever P a!r P ; there exists Q ;R s.t. Q a!r Q ;P RQ and RRR ; and 3. whenever P P ; there exists Q s.t. Q Q and P RQ. R is called a higher-order strong bisimulation if R and R 1 are both higher-order strong simulations. If P; Q 0r and there is a higher-order bisimulation containing (P; Q); then P and Q are said to be (higher-order) bisimilar and we write P Q; and if P; Q r and fv(p; Q) { X }; then P Q provided P{ R=X } Q{ R=X } for all closed processes R. With a proof technique similar to that used in Proposition 3.2, we may prove the following: Proposition 4.1 (Recursive denitions). 1: If K def = P; then K P. 2: Let P; Q r; fv( P; Q) { X }; K def = P{ K= X } and L def = Q{ L= X }: If K L: P Q; then A process variable X is said to be weakly guarded in P if each occurrence of X in P is within some subexpression a?y:p ;a!p 1 :P 2 or :P of P: The key step of proving uniqueness of solutions of equations is the following lemma. Lemma 4.2. Let process variables X be weakly guarded in P and fv(p) { X }. 1. If = a?t or and P{ Q= X } P then there is U s.t. P = U{ Q= X } and P{ R= X } U{ R= X } for all closed processes R. 2. If P{ Q= X } a!t P then there is U; V s.t. P = U{ Q= X }; T= V { Q= X } and P{ R= X } a!v { R= X } U{ R= X } for all closed processes R. 3. If P{ Q= X } a?v { Q= X } P then there is U s.t. P = U{ Q= X } and P{ R= X } a?v { U{ R= X } for all closed processes R. R= X }

M. Ying, M. Wirsing / Theoretical Computer Science 266 (2001) 839 852 851 The three conclusions of the above lemma should be proved simultaneously by transition induction. Using this lemma we are able to prove the following: Proposition 4.3 (Uniqueness of solutions of equations). Let fv( P) { X } and weakly guarded in each P P: If Q P{ Q= X } and R P{ R= X } then Q R. X be Naturally, these results obtained in this paper may be expected to be generalized into the setting of weak context bisimulation or higher-order bisimulation (cf. [6, 16]). Unfortunately, the proof technique employed in this paper does not work for weak bisimulations. The main diculty arises from the uncontrollability of the number of -steps in weak bisimulations. To be more explicit, let us consider weak context bisimulation as an example. Let be the reexive and transitive closure of ; and let P A stand for P P A for some P : Transitions of the form are often involved in weak context bisimulations in the place of in strong context bisimula- tions. From the proofs of Propositions 3.2 and 3.4 we already know that due to the functionality of higher-order process calculi we have to deal with the reexive and transitive of some relations between processes instead of these relations themselves. To establish some results for weak context bisimulations similar to Propositions 3.2 and 3.4, an auxiliary result for weak context bisimulation similar to Lemma 3.1 is needed and in such a result P l P ;P a F and P a C in Lemma 3.1 must be replaced by P l P ;P a F and P a C; respectively. Then an induction proof should be embarked on P A instead of P A as in the proofs of Propositions 3.2 and 3.4; for example, if P A consists of P P 1 P n A then we may use induction on d(p A) = M d(p P 1 )+ n 1 i=1 d(p i P i+1 )+d(p n A) where d(q B) stands for the depth of inference Q B: In this way, however, when we want to apply the induction hypothesis on, say, P A ; the number of -steps in P A may exceed that in P A and we may have d(p A ) d(p A) and fail to apply the induction hypothesis eventually. (Some similar problems appear in the study of weak conuency; for examples, see [2, 17].) In summary, the proof technique used in this paper is not suitable for the case of weak bisimulations; whether some results similar to those in this paper hold for weak context and higher-order bisimulations is still an open problem; and to settle this problem some new proof techniques have to be found. References [1] G. Boudol, Towards a lambda calculus for concurrent and communicating systems, in: TAPSOFT 89, Lecture Notes in Computer Science, vol. 351, Springer, Berlin, 1989; pp. 149 161. [2] J.F. Groote, M.P.A. Sellink, Conuence for process verication, Theoret. Comput. Sci. 170 (1996) 47 81. For a more detailed version, see: Tech. Report 137, Logic Group Preprint Series, Utrecht University, June, 1995. [3] M. Hennessy, A fully abstract denotational model for higher order processes, Inform. and Comput. 112 (1994) 55 95. [4] M. Hennessy, Higher-order processes and their models, in: Proc. of ICALP 94, Lecture Notes in Computer Science, vol. 820, Springer, Berlin, 1994; pp. 280 303.

852 M. Ying, M. Wirsing / Theoretical Computer Science 266 (2001) 839 852 [5] R. Milner, in: A Calculus of Communicating Systems, Lecture Notes in Computer Science, vol. 92, Springer, Berlin, 1980. [6] R. Milner, Communication and Concurrency, Prentice-Hall, New York, 1989. [7] R. Milner, J. Parrow, D. Walker, A calculus of mobile processes, parts I and II, Information Comput. 100 (1992) 1 77. [8] D.M. Park, Concurrency on automata and innite sequences, in: P. Deussen (Ed.), Proc. of Conf. on Theoretical Computer Science, Lecture Notes in Computer Science, vol. 104, Springer, Berlin, 1981. [9] D. Sangiorgi, Expressing mobility in process algebras: rst-order and higher-order paradigms, Ph.D. Thesis, Department of Computer Science, University of Edinburgh, 1992. [10] D. Sangiorgi, Bisimulation for higher-order process calculi, Inform. and Comput. 131 (1996) 141 178. [11] B. Thomsen, A calculus of higher order communicating systems, in: Proceedings of POPL 89, ACM Press, New York, 1989; pp. 143 154. [12] B. Thomsen, Calculi for Higher Order Communicating Systems, Ph.D. Thesis, Department of Computing, Imperial College, 1990. [13] B. Thomsen, Plain CHOCS, a second generation calculus for higher-order processes, Acta Inform. 30 (1993) 1 59. [14] B. Thomsen, A theory of higher order communicating systems, Inform. and Comput. 116 (1995) 38 57. [15] B. Thomsen, S. Abramsky, A fully abstract denotational semantics for the calculus of higher order communicating systems, Theoret. Comput. Sci., in press. [16] M.S. Ying, A shorter proof to uniqueness of solutions of equations, Theoret. Comput. Sci. 216 (1999) 395 397. [17] M.S. Ying, Weak conuence and -inertness, Theoret. Comput. Sci. 238 (2000).