Theoretical Computer Science

In this paper, we prove the coincidence between strong/weak context bisimulation and strong/weak normal bisimulation for higher order π -calculus, which generalizes Sangiorgi’swork.Toachievethisaim,weintroduceindexedhigherorder π -calculus,which is similar to higher order π -calculus except that every prefix of any process is assigned indices. Furthermore we present corresponding indexed bisimulations for this calculus, and prove the equivalence between these indexed bisimulations. Based on this result, we prove the main result of this paper, i.e., the equivalence between strong/weak context bisimulation and strong/weak normal bisimulation.


Introduction
Since Milner, Parrow and Walker's paper in 1992 [14], π -calculus has received ever growing interest, mainly for two reasons: it is well suited for specifying properties of concurrent systems and its mathematical theory is elegant.In Sangiorgi's dissertation [16], some interesting bisimulations for higher order π -calculus were presented, such as barbed equivalence, context bisimulation and normal bisimulation.Barbed equivalence can be regarded as a uniform definition of bisimulation for a variety of concurrency calculi.Context bisimulation is a very intuitive definition of bisimulation for higher order π -calculus, but it is heavy to handle, due to the appearance of universal quantifications in its definition.In the definition of normal bisimulation, all universal quantifications disappeared, therefore normal bisimulation is a very economic characterization of bisimulation for higher order π -calculus.
The main difficulty with definitions of context bisimulation and barbed equivalence that involve quantification over contexts is that they are often awkward to work with directly.It is therefore important to look for more tractable characterizations of the bisimulations.In [16], the equivalence among weak normal bisimulation, weak context bisimulation and weak barbed equivalence was proved, but the proof method cannot be adopted to prove the equivalence between strong context and normal bisimulations.Sangiorgi presented it as an open problem in [16].The essential reason is that the proof relies on some central technical results, like the factorization theorem and the full abstraction of the mapping to triggered agents, which do not hold in the case of strong context bisimulation.
Up until now, the only results we are aware of on the equivalence between context and normal bisimulations are in [16,17,4,10].All these papers only treated the case of weak bisimulations.In process calculi, almost all results about weak bisimulations can be easily generalized to the case of strong bisimulations.Roughly speaking, tau action is abstracted in weak bisimulations but not in strong bisimulations.In general, we have more interest for weak bisimulations than strong bisimulations since we usually do not care the internal computation in a computer system.But strong bisimulation is still an important concept.In [13], strong bisimulation was presented as a basic equivalence for process calculi.For example, if we want to match both the interface property and the internal computation steps of two systems, strong bisimulation is a suitable criterion.As far as we know, no paper gives the proof of equivalence between strong context and normal bisimulations.In [16,17], this problem was stated as an open problem.The main difficulty is that the strategy of proof for the equivalence between weak context and normal bisimulations does not work for the case of strong bisimulations.For the case of weak bisimulations, the translation to trigger processes will bring some redundant tau actions.Since weak bisimulations abstract from tau action, the problem is inessential.For the case of strong bisimulations, the situation is different.We have to match these redundant tau actions to prove that two processes are bisimilar.Therefore we need some new strategies of proof to solve the problem.The proof strategies may be also useful for other problems.For example, the equivalence between weak context and normal bisimulations can be also proved by this methods.
The main aim of this paper is to give a uniform proof for the equivalence of normal and context bisimulations in both strong case and weak case.Especially, we give a proof of the coincidence between strong normal bisimulation and strong context bisimulation, which solves an open problem presented by Sangiorgi in [16,17].To achieve this aim, we introduce indexed processes and propose some bisimulations on indexed processes.Since it is straightforward to show that strong context bisimulation implies strong normal bisimulation, to get the proposition, we only need to prove that two processes are strongly context bisimilar if they are strongly normal bisimilar.We prove this claim by introducing the concept of indexed processes and corresponding bisimulations on indexed processes.The key point is that since indices distinguish tau actions, we can match the redundant tau actions assigned by the same special indices.Furthermore, we also prove the coincidence between indexed context bisimulation and indexed reduction congruences.
This paper is organized as follows: Section 2 gives a brief review of syntax and operational semantics of the higher order π-calculus, then recalls the definitions of context and normal bisimulations.Section 3 introduces indexed higher order πcalculus and some indexed bisimulations.The equivalence between these indexed bisimulations is also proved.In Section 4 we give a proof for the equivalence between strong/weak context bisimulation and strong/weak normal bisimulation.The paper is concluded in Section 5.

Higher order π-calculus
2.1.Syntax and labelled transition system of higher order π -calculus In this section we briefly recall the syntax and labelled transition system of the higher order π-calculus.Similar to [17], we only focus on a second-order fragment of the higher order π -calculus, i.e., there is no abstraction in this fragment.
We assume a set N of names, ranged over by a, b, c, . . .and a set Var of process variables, ranged over by X , Y , Z , U, . ... We use E, F , P, Q , . . . to stand for processes.Pr denotes the set of all processes.
We first give the grammar for the higher order π -calculus processes as follows: π where τ is a tau prefix; l is a first order input prefix; l is a first order output prefix; a(U) is a higher order input prefix and a⟨P⟩ is a higher order output prefix.
For higher order π -calculus, in each process of the form (νa)P, P is the scope of binder (νa).An occurrence of a in P is said to be free iff it does not lie within the scope of a binding occurrence of a.The set of names occurring free in P is denoted as fn(P).An occurrence of a name in P is said to be bound if it is not free, we write the set of bound names as bn(P).n(P) denotes the set of names of P, i.e., n(P) = fn(P) ∪ bn(P).We use n(P, Q ) to denote n(P) ∪ n(Q ).Higher order input prefix a(U).P binds all free occurrences of U in P. The set of variables occurring free in P is denoted as f v(P).We write the set of bound variables in P as bv(P).v(P) denotes the set of variables of P, i.e., v(P) = f v(P) ∪ bv(P).A process is closed if it has no free variable; it is open if it may have free variables.Pr c is the set of all closed processes.Processes P and Q are α-convertible, P ≡ α Q , if Q can be obtained from P by a finite number of changes of bound names and bound variables.
The set of all closed processes, i.e., the processes which have no free variable, is denoted as Pr c .The structural congruence relation is the smallest congruence generated by the following laws: The operational semantics of higher order processes is given in Table 1.We have omitted the symmetric cases for the PAR, COM1 and COM2 rules.

Bisimulations in higher order π -calculus
Context and normal bisimulations were presented in [16,17] to describe the behavioural equivalences for higher order π -calculus.In the following, we abbreviate P{E/U} as P⟨E⟩.

Table 1
Operational semantics of higher order π -calculus.
(1) whenever where α is in the form of τ or l or l, and (2) whenever (3) whenever P , where C (U) is a process containing a unique free variable U. We write P ∼ Ct Q if P and Q are strongly context bisimilar.
Distinguished from strong context bisimulation, strong normal bisimulation does not have universal quantifications in the clauses of its definition.In the following, a name is called fresh in a statement if it is different from any other name occurring in the processes of the statement.

Definition 2. A symmetric relation R ⊆ Pr c
× Pr c is a strong normal bisimulation if P R Q implies: (1) whenever where α is in the form of τ or l or l, and P ′ R Q ′ ; (2) whenever P a⟨m.0⟩ where m is a fresh name, i.e., m is different from any name in P and Q ; (3) whenever P where m is a fresh name, i.e., m is different from any name in P, Q , E and F .
We write P ∼ Nr Q if P and Q are strongly normal bisimilar.
In the following, we use (1) whenever (2) whenever where α is in the form of l or l, and P ′ R Q ′ ; (3) whenever (4) whenever P × Pr c is a weak normal bisimulation if P R Q implies: (1) whenever (2) whenever where α is in the form of l or l, and P ′ R Q ′ ; (3) whenever P a⟨m.0⟩ = == ⇒ P ′ , there exists where m is a fresh name; (4) whenever P where m is a fresh name.
We write P ≈ Nr Q if P and Q are weakly normal bisimilar.

Indexed processes and indexed bisimulations
In [16,17], the equivalence between weak context bisimulation and weak normal bisimulation was proved.In the proof, the factorization theorem was firstly given.It allows us to factorize out certain subprocesses of a given process.Thus, a complex process can be decomposed into the parallel composition of simpler processes.Then the concept of triggered processes was introduced, which is the key step in the proof.Triggered processes represent a sort of normal form for the processes.Most importantly, there is a very simple characterization of context bisimulation on triggered processes, called triggered bisimulation.By the factorization theorem, a process can be transformed to a triggered process.The transform allows us to use the simpler theory of triggered processes to reason about the set of all processes.In [16,17], weak context bisimulation was firstly proved to be equivalent to weak triggered bisimulation on triggered processes, then by the mapping from general processes to triggered processes, the equivalence between weak context bisimulation and weak normal bisimulation was proved.
In the case of strong bisimulations, the above proof strategy does not work.The main problem is that the mapping to triggered processes brings some redundant tau actions.Since weak bisimulations abstract from tau action, the full abstraction of the mapping to triggered processes holds.But in the case of strong bisimulations, the triggered mapping does not preserve the strong bisimulations, and therefore some central technical results in [16,17], like the factorization theorem, are not true in the strong case.
To resolve this difficulty we introduced the concept of indexed processes and the indexed version of context and normal bisimulations.Roughly, the actions of indexed processes have added indices, which are used to identify in which component or between which components an action takes place.Indexed bisimulations with respect to an index set S abstract the indexed tau action of the form {τ } i,i for any i ∈ S, but distinguish the indexed tau action of the form {τ } i,j if i / ∈ S or j / ∈ S or i ̸ = j.To study the relation between indexed bisimulations, we present a translation Tr n which transforms every indexed process M into the indexed triggered process Tr n [M] with respect to index n.One can see that the mapping from M to Tr n [M] brings redundant indexed tau actions {τ } n,n .Therefore indexed triggered mapping preserves the indexed bisimulations with respect to S ∪ {n} for any S. Similarly, we also have the indexed version of the factorization theorem.Following the proof strategy in [16,17], we prove the equivalence between indexed context bisimulation and indexed normal bisimulation.Furthermore, when S is the empty set ∅, we discuss the relation between indexed bisimulations and strong bisimulations, and get the proposition: This solves the open problem in [16,17].We also apply the proof idea to the case of weak bisimulations.When S is the full index set I, we study the relation between indexed bisimulations and weak bisimulations, and get the proposition: , where I is the full index set.Therefore the proof presented here seems to be a uniform approach to the equivalence between strong/weak context bisimulation and strong/weak normal bisimulation.

Syntax and labelled transition system of indexed higher order π -calculus
The aim of this paper is to propose a general technique for showing the correspondence of context and normal bisimulations in both the strong and weak cases, by relying on a notion of indexed processes.Roughly, the intention is that indexed processes allow the labelled transition system semantics to record in action labels the indices of the interacting components.This mechanism is then used to filter out some tau transitions in the considered definition of bisimulation.Now we introduce the concept of indexed processes.The index set I, w.l.o.g., will be the set of natural numbers.Intuitively, the concept of index can be viewed as the name or location of components.The class of the indexed processes IPr is built similar to Pr, except that every prefix is assigned indices.We usually use K , L, M, N to denote indexed processes.
The formal definition of an indexed process is given as follows: Iπ is called an indexed prefix and can be an indexed tau prefix or an indexed input prefix or an indexed output prefix: The notations of free name, bound name, free variable, bound variable etc. can be given similar to the original higher order π -calculus.IPr c is the set of all closed indexed processes.Indexed processes M and N are α-convertible, M ≡ α N, if N can be obtained from M by a finite number of changes of bound names and bound variables.

Definition 5.
The set of all indices that occur in M, ix(M), is defined inductively as follows: Table 2 Operational semantics of indexed higher order π -calculus.
In the remainder of this paper, {P} i is an abbreviation for the indexed process with the same given index i on every prefix in the scope of P. The formal definition is given below.Definition 6. {P} i is defined inductively as follows: (1) {0} i :: The structural congruence relation is the smallest congruence generated by the following laws: ∈ v(M).In the labelled transition system of indexed higher order π -calculus, the label on the transition arrow is an indexed action, whose definition is given as follows: where {τ } i,j is an indexed tau action, {l} i is an indexed first order input action, {l} i is an indexed first order output action, {a⟨K ⟩} i is an indexed higher order input action, and {a⟨K ⟩} i and {(ν  b)a⟨K ⟩} i are indexed higher order output actions.
We write bn(Iα) to represent the set of names bound in The operational semantics of indexed processes is given in Table 2. Similar to Table 1, we have omitted the symmetric cases of the PAR, COM1 and COM2 rules.The main difference between Tables 1 and 2 is that the label Iα on the transition arrow is in the form of {α} i or {τ } i,j .If we adopt the distributed view, {α} i can be regarded as an input or output action performed by component i, and {τ } i,j can be regarded as a communication between components i and j.

Indexed context bisimulation and indexed normal bisimulation
Now we can give the concept of indexed context bisimulation and indexed normal bisimulation for indexed processes.
In the remainder of this paper, we abbreviate M{K /U} as M⟨K ⟩.In the following, we use is called fresh in a statement if it is different from any other index occurring in the processes of the statement.
Let us see two examples.For the transition (νa)((νb)({a} i .0|{b}j .0|{a}i .{b}j .0)) This paper's main result states that strong context bisimulation coincides with strong normal bisimulation.Technically, the proof rests on the notion of indexed bisimulations.The idea is to generalize the usual notion of weak bisimulations so that tau actions can be abstracted selectively, depending on a chosen set of indices S. The cases S = ∅ and S = I correspond to strong and weak bisimulations respectively.Definition 7. Let M, N be two closed indexed processes, and S ⊆ I be an index set, we write M ≃ S Ct N, if there is a symmetric relation R and M R N implies: (1) whenever where Iα is in the form of {τ } i,j or {l} i or {l} i , Iα ̸ = {τ } i,i for any i ∈ S; (3) whenever Let M, N be two closed indexed processes, and S ⊆ I be an index set, we write M ≃ S Nr N, if there is a symmetric relation R and M R N implies: where Iα is in the form of {τ } i,j or {l} i or {l} i , Iα ̸ = {τ } i,i for any i ∈ S; (3) whenever M {a⟨{m} n .0⟩}i ,S = ====== ⇒ M ′ , where m is a fresh name and n is a fresh index, there exists N ′ such that N fresh name m and a fresh index n.
We say that M and N are indexed normal bisimilar with respect to S if M ≃ S Nr N.
The above definitions have some geometric intuition.From a distributed view, {τ } i,i is an internal communication in component i, and {τ } i,j , where i ̸ = j, represents an external communication between different components i and j.Therefore in Definitions 7 and 9, we regard {τ } i,i as a private event in component i, which can be abstracted if i is in S, a chosen set of indices; and we view {τ } i,j as a visible event between different components i and j.

Indexed triggered processes and indexed triggered bisimulation
The concept of triggered processes was introduced in [16,17].The distinguishing feature of triggered processes is that every communication among them is the exchange of a trigger, where a trigger is an elementary process whose only functionality is to activate a copy of another process.In this section, we introduce the indexed version of triggered processes.An indexed triggered process can be seen as a sort of normal form for the indexed processes, and every communication among them is the exchange of an indexed trigger.We shall use indexed triggers to perform indexed process transformations which make the treatment of the constructs of indexed higher order processes easier.
The formal definition of indexed triggered process is given as follows: The class of the indexed triggered processes is denoted as ITPr.The class of the closed indexed triggered processes is denoted as ITPr c .
Definition 10.We give a mapping Tr n which transforms every indexed process M into the indexed triggered process Tr n

[M]
with respect to index n.The mapping is defined inductively on the structure of M.
For example, let this is simulated using two additional {τ } n,n interactions: Now we can give the indexed version of triggered bisimulation as follows.
Definition 11.Let M, N be two closed indexed triggered processes, and S ⊆ I be an index set, we write M ≃ S Tr N, if there is a symmetric relation R and M R N implies: (1) whenever where Iα is in the form of {τ } i,j or {l} i or {l} i , Iα ̸ = {τ } i,i for any i ∈ S; (3) whenever M {a⟨{m} n .0⟩}i ,S = ====== ⇒ M ′ , where m is a fresh name and n is a fresh index, there exists N ′ such that N

The equivalence between indexed bisimulations
Now we study the relations between the three indexed bisimulations.The main result is summarized in Proposition 8: Tr n [N] ⇔ M ≃ S Ct N. We achieve this result by proving several propositions including indexed factorization theorem (Proposition 4), full abstraction of the mapping to indexed triggered processes (Proposition 5), the relation between indexed triggered bisimulation and indexed normal bisimulation (Proposition 6), and the relation between indexed triggered bisimulation and indexed context bisimulation (Proposition 7).
In the following, we first give congruence of ≃ S Ct and ≃ S Tr .
Proposition 1 (Congruence of ≃ S Ct ).For all M, N, K ∈ IPr, M ≃ S Ct N implies: Now we give the indexed version of the factorization theorem, which states that, by means of indexed triggers, an indexed subprocess of a given indexed process can be factorized out.
Proof.Similar to the proof of P{τ .R/X} ∼ Ct (νm)(P{m.0/X}|!m.R) in [16] except that every prefix is assigned an index, by induction on the structure of M. Proof. 1.It is straightforward.
2. Since an indexed triggered process is also an indexed process, Corollary 1 holds for indexed triggered processes.This claim can be proved by induction on the structure of M and using Corollary 1.

Since an indexed triggered process is always an indexed process, by Claim 1, Tr n
[M] is still an indexed triggered process for indexed triggered process M. By Lemma 1 and Claim 2, the claim holds.
The following lemma gives the operational correspondence for Tr n [ ] with respect to indexed triggered bisimulation, which is an indexed version of Lemma 7.2 in [17].This lemma is used to study the relation between ≃ S Nr and ≃ S∪{n} Tr in Proposition 6.

Lemma 2. Let m /
∈ fn(M, K ) and n / ∈ ix(M, K ), where M and K are indexed processes.
Tr n [M ′ ]; (c) suppose Iα is not an indexed higher order action and Iα ̸ = {τ } i,i for any i ∈ Tr n

[M ′ ]; (c) suppose Iα is not an indexed higher order action and Iα ̸ = {τ } i,i for any i ∈ S ∪ {n}; if Tr n [M]
Iα,S∪{n} Proof.By induction on the length of transition, similar to the proof of Lemma 4.7.3 in [16].The only difference between the proof in [16,Lemma 4.7.3] is that in this case every process and every action are assigned indices.
For an example of higher order output case of Lemma

) suppose Iα is not an indexed higher order action and Iα
Proof.By induction on the length of transition, similar to the proofs of Corollary 4.4.8 and Lemma 4.7.3 in [16] except that in this case every process and every action are assigned indices.
For an example of higher order output case of Lemma 3, we have {a⟨N⟩} i .L For an example of higher order input case of Lemma 3, we have {a(U)} i .(U|U) The following Lemmas 4 and 5 are necessary to the proof of Proposition 7. Tr n [N] ⇒ M ≃ S Ct N, where n / ∈ ix(M, N).
The following proposition is the main result of this section, which states the equivalence between indexed context bisimulation, indexed normal bisimulation and indexed triggered bisimulation.
For indexed triggered processes, the above proposition can be simplified as Corollary 2. Sangiorgi [16] proved that barbed congruence coincides with context bisimulation.We generalize this result to our indexed process calculus.In the following, we firstly present an indexed variant of barbed congruence.Then we show that this indexed barbed congruence coincides with an indexed version of reduction congruence called indexed reduction congruence.Moreover, we give the equivalence between indexed reduction congruence, indexed context bisimulation and indexed normal bisimulation.This result shows that all our indexed bisimulations are same and capture the essential of equivalence of indexed processes.Definition 13.For each name a, the observability predicate ↓ a is defined by Let M, N be two indexed processes, and S ⊆ I be an index set, we write M ≃ S Ba N, if there is a symmetric relation R and M R N implies: (1) M|K R N|K for any indexed process K ; (2) whenever We say that M and N are indexed barbed congruence with respect to S if M ≃ S Ba N. Since ≃ S Ct is equivalent to ≃ S Nr .The following proposition states that ≃ S Ct , ≃ S Nr and ≃ S Ba are same.
On the other hand, Claim (4) is not necessary.In the following, we will present an indexed reduction-based bisimulation without barbed testing and prove the equivalence between such bisimulation and ≃ S Ba .Definition 16.Let M, N be two indexed processes, and S ⊆ I be an index set, we write M ≃ S Rd N, if there is a symmetric relation R and M R N implies: (1) M|K R N|K for any indexed process K ; (2) whenever ===⇒ N ′ and M ′ R N ′ .We say that M and N are indexed reduction congruence with respect to S if M ≃ S Rd N. Since ≃ S Ct is equivalent to ≃ S Nr , the following proposition states that ≃ S Ct , ≃ S Nr and ≃ S Rd are same.The concept of indexed processes are not only used for the proof of equivalence of context bisimulation and normal bisimulation, but also can be regarded as a kind of ''distributed processes''.For example, {a} i .0|{b}j .0|{a}m .{b}n .0denotes a ''distributed process'' which is able to perform an output action a at location i, and perform an output action b at location j, and perform an input action a at location m, and perform an input action b at location n.Although the conceptions of indexed barbed congruence and indexed reduction congruence are not necessary for the proof of equivalence of context bisimulation and normal bisimulation, we presented and studied these indexed congruences for they can be regarded as a kind of equivalence for ''distributed processes''.
We can see that barbed equivalence and indexed reduction congruence are both reduction-based bisimulations on one hand.On the other hand, for barbed equivalence, an observer can test channels through which process can interact with environment, whereas for indexed reduction congruence, an observer need not test channels but has capability to distinguish components where communication happens.Therefore our indexed reduction congruence is not a direct generalization of barbed equivalence.
In [16], Sangiorgi showed that reduction congruence is not equivalent to barbed congruence.But for our indexed process calculus, the above proposition shows that the indexed reduction congruence is equivalent to indexed barbed congruence.This gives the essential difference between indexed processes and original processes.
Barbed congruence is regarded as a uniform definition of bisimulation for a variety of concurrency calculi, such as π -calculus [5,16], higher order π-calculus [16], Join calculus [6], and safe ambient calculus [12].But the definition of barb will vary with different calculi.For example, definitions of barb are different for π -calculus and safe ambient calculus.Indexed reduction congruence can be also used as a uniform equivalence for different process calculi.In [1], the concept of indexed reduction congruence was used to give a uniform equivalence for π-calculus, higher order π-calculus, and safe ambient calculus.

Strong context bisimulation coincides with strong normal bisimulation
The equivalence between strong context bisimulation and strong normal bisimulation can be derived by the mapping to indexed triggered process and the equivalence between indexed bisimulations.
For example, let us see the following two processes: They are clearly strongly context bisimilar.However, their triggered mappings are not strongly triggered bisimilar.Indeed, the mapping of Q is (νa)((νm)(a⟨m.0⟩.0|!m.0)|a(X).b.0), after the communication between a and a, the residual process can perform action b without using silent tau actions, whereas the mapping of P is (νa)((νm)(a⟨m.0⟩.0|!m.b.0)|a(X).X), and to match this behaviour, one has to go through a trigger and this therefore requires abstracting of some tau actions.Hence the proof strategy in [16,17] cannot be generalized to the case of strong bisimulation.
In our approach, we firstly consider the indexed version of P and Q :    One may doubt whether the notation {τ } i,j (where i and j are different) is necessary for the proofs of Propositions 10 and 11, where all prefixes are given the same index k (thus ''original tau actions'' have subscript ''k, k'') and all the triggers are given another index n (thus ''trigger activations'' have subscript ''n, n'').
In fact, the notation {τ } i,j (where i and j are different) is needed in the proofs of Propositions 10 and 11.For the definition of indexed context bisimulation, in the cases of higher order input and higher order output action, indexed process will input or output indexed processes.In such cases, inputted or outputted indexed processes may have some different indices, so we should introduce {τ } i,j .For example, {a(U).U|b⟨L⟩.0}i ≡ {a(U)} i .U|{b⟨L⟩} i .0 may receive {b(X)} k .X through channel a, then becomes {b(X)} k .X|{b⟨L⟩} i .0, and this indexed process can perform {τ } i,k .
Actually, we can replace the full set I by {n, k} in Definition 22, and replace the full set I by {k} in Definitions 20 and 21.Similar to Proposition 11, we can also get The proof strategy of this proposition is similar to that of Proposition 11.
In [16,17], the proposition: ] ⇔ P ∼ Ct Q does not hold.For example, let P = (νa)(a⟨b.0⟩.0|a(X).X) and Q = (νa)(a⟨0⟩.0|a(X).b.0), then P ∼ Nr Q , P ∼ Ct Q and Tr This also shows that we cannot prove the equivalence between strong context bisimulation and strong normal bisimulation by the original technique of triggered mapping.

A variant of normal bisimulation
Let us see the language of higher order π -calculus without replication operators defined by the following grammar: We write the set of processes of this higher order π -calculus as Pr p .
In [15], Parrow has shown that in higher order π -calculus, replication can be defined by inaction, prefix, sum, parallel and restriction up to weak bisimulations.For example, !P can be simulated by R P = (νa)(D | a⟨P | D⟩), where D = a(X ).(X | a⟨X ⟩).Hence the expressive power of Pr p is equivalent to whole higher order π -calculus.In fact, some recent higher order process calculi do not contain replication [7,8,19].But what kind of bisimulation can be defined on Pr p ?In the definition of normal bisimulation, replication appears.Although we can translate replication into other operators, the form is somewhat complicated.Therefore normal bisimulation seems unsuitable for Pr p .
In the following, we give a variant of normal bisimulation, where parallel composition of any finitary copies is used as a limit form of replication.We prove that it coincides with normal bisimulation.

Definition 23. A symmetric relation R ⊆ Pr c
× Pr c is a weak limit normal bisimulation if P R Q implies: (1) whenever (2) whenever where α is in the form of l or l, and P ′ R Q ′ ; (3) whenever P a⟨m.0⟩ = == ⇒ P ′ , there exists where m is a fresh name; (4) whenever P where m is a fresh name.Here we write Π k P to denote the parallel composition of k copies of P, for example, Π 3 P represents P|P|P.
We write P ≈ nor Q if P and Q are weakly limit normal bisimilar.
In Claim (4) of the above definition, some additional quantification was introduced on contexts.But this definition does not contain replication operators.So this definition can be used as an equivalence for process calculus without replication operators, whereas the original normal bisimulation is unsuitable for Pr p .Proof.By the equivalence between ≈ Ct and ≈ Nr , P ≈ Nr Q ⇔ P ≈ Ct Q .Furthermore, by Lemmas 9 and 10, we have that the proposition holds.Some results of context bisimulation for Pr p can also be implied by this proposition.For example, the equivalence between early context bisimulation and late context bisimulation for Pr p can be proved from this proposition.
The above results also hold in the strong case.The strong version of limit normal bisimulation is given as follows.
Definition 24.A symmetric relation R ⊆ Pr c × Pr c is a strong limit normal bisimulation if P R Q implies: (1) whenever where α is not a higher order action and P ′ R Q ′ ; (2) whenever P a⟨m.0⟩ where m is a fresh name; (3) whenever P where m is a fresh name.
We write P ∼ nor Q if P and Q are strongly limit normal bisimilar.
There is no difficulty to extend Proposition 12 to the following proposition by using the similar proof strategy except that tau action should also be matched.

Proposition 13. P ∼
In [3], we gave a spatial logical characterization of context bisimulation by applying the above proposition.

Conclusions
This paper is an extended version of [2].In this paper, we present a new proof technique for establishing the equivalence between strong normal and strong context bisimilarity relations in higher order π -calculus.To achieve this aim, we firstly present the concept of indexed processes and indexed triggered mapping, and then prove the equivalence between indexed normal bisimulation, indexed triggered bisimulation and indexed context bisimulation.As an application, we get the equivalence between normal bisimulation and context bisimulation for both strong and weak versions.In fact, our proof strategy is an enhancement of Sangiorgi's technique of trigger translation which facilitates a distinction between reductions in higher order π -calculus due to the presence of triggers, as opposed to ordinary reductions in higher order π -calculus.We introduce a level of indexing to tag the terms so as to allow this distinction.Many bisimulations are then defined upon the indexed terms and these are used to prove the desired correspondences.
In [16], context bisimulation and normal bisimulation were compared with barbed equivalence.In [9], authors proved a correspondence between weak normal bisimulation and a variant of barbed equivalence, called contextual barbed equivalence.In [11] an alternative proof of the correspondence between context bisimulation and barbed equivalence was given.In [10], authors proved that a restriction operator free subcalculus of higher order π -calculus is Turing-complete, and gave a complete inference system of this subcalculus.In [18], a new bisimulation was presented for higher order π-calculus and λ -calculus, and this bisimulation was proved to be equivalent to context bisimulation for higher order π -calculus.It would be interesting to understand whether our conceptions of indexed processes and indexed bisimulations can be helpful to study the relation between bisimulations in the framework of other higher order concurrency languages.

ε=⇒
to abbreviate the reflexive and transitive closure of τ By abstracting the tau action, we can get the following formal definitions of weak bisimulations:

( 9 )
Tr n [(νa)M] ::= (νa)Tr n [M]; (10) Tr n [!M] ::=!Tr n [M].Transformation Tr n [ ] may expand the number of {τ } n,n steps in a process.But the behaviour is otherwise the same.The expansion is due to the fact that if in M a process N is transmitted and used k times then, in Tr n [M] k additional {τ } n,n

Proposition 2 (Proposition 3 .
where C [ ] is in one of the forms Iπ .[], [ ]|K , (νa)[ ], ![ ], and {a⟨[ ]⟩} i .K .The proof is similar to the argument of the analogous result for context bisimulation in [16, Theorem 4.2.7].The only difference between the proof in [16, Theorem 4.2.7] is that in this case every process and every action are assigned indices.Congruence of ≃ S Tr ).For all M, N, K ∈ ITPr, M ≃ S Tr N implies: 1. M|K ≃ S Tr N|K ; 2. (νa)M ≃ S Tr (νa)N.Proof.The proof strategy is to prove that R = {(C[M], C [N]) : M ≃ S Tr N} is contained in ≃ S Tr , where C [ ] is in one of the forms [ ]|K and (νa)[ ].The proof is similar to the argument of the analogous result for triggered bisimulation in [16, Lemma 4.6.3].The only difference between the proof in [16, Lemma 4.6.3] is that in this case every process and every action are assigned indices.Proposition 3 states the easy part of the relation between ≃ S Ct and ≃ S Nr .For any M, N ∈ IPr c , M ≃ S Ct N ⇒ M ≃ S Nr N. Proof.It is trivial by the definition of ≃ S Ct and ≃ S Nr since the requirements in the definition of ≃ S Nr are a subset of those in the definition of ≃ S Ct .

Lemma 4 .Lemma 5 .Proposition 7 .
For any M, N ∈ IPr c , Tr n [For any M, N ∈ IPr c , M ≃ S∪{n} Ct N ⇒ M ≃ S Ct N, where n / ∈ ix(M, N).Proof.It is clear since n / ∈ ix(M, N).Now we get the relation between ≃ S∪{n} Tr and ≃ S Ct as follows: For any M, N ∈ IPr c , Tr n [M] ≃ S∪{n} Tr

Lemma 6 . 2 .
For any M, N ∈ ITPr c , M ≃ S∪{n} Tr N ⇒ M ≃ S Tr N, where n / ∈ ix(M, N).Proof.It is clear since n / ∈ ix(M, N).Corollary For any M, N ∈ ITPr c , M ≃ S Nr N ⇔ M ≃ S Tr N ⇔ M ≃ S Ct N. Proof.By Proposition 8, M ≃ S Nr N ⇔ Tr n [M] ≃ S∪{n} Tr Tr n [N] ⇔ M ≃ S Ct N, where n / ∈ ix(M, N).Since M, N ∈ ITPr c , By Lemma 4, we have M ≃ S Tr N.

Lemma 9 .
P ≈ Ct Q ⇒ P ≈ nor Q .Proof.It is trivial by the definition of ≈ Ct and ≈ nor since the requirements in the definition of ≈ nor are a subset of those in the definition of ≈ Ct .Lemma 10.P ≈ nor Q ⇒ P ≈ Nr Q .Proof.See Appendix G. Proposition 12. P ≈ Ct Q ⇔ P ≈ nor Q ⇔ P ≈ Nr Q .
We say that M and N are indexed context bisimilar with respect to S if M ≃ S Definition 8.For two open indexed processes M, N, we write M [17]e have {a⟨N⟩} i .L For an example of higher order input case of Lemma 2, we have {a(U)} i .(U|U)j.0⟩}i,{n} = ======= ⇒ {m} j .0|{m}j.0,and{m} j .0|{m}j.0≃{n} Tr {m} j .0|{m}j.0.Proposition 6 below states the relation between ≃ S Nr and ≃ [ ] with respect to indexed context bisimulation, which is an indexed version of Lemma 5.5 in[17].This lemma is used to study the relation between ≃ S Tr and ≃ S {a⟨{m} Ct in Lemma 4. Lemma 3. Let m / ∈ fn(M, K ) and n / ∈ ix(M, K ). 1. (a) If M {a⟨K ⟩} i ,S ====⇒ M ′ , then M ′′ exists such that Tr n [M] {a⟨{m} n .0⟩}i ,S∪{n} =========⇒ M ′′ and Tr n (c) suppose Iα is not an indexed higher order action and Iα ̸ = {τ } i,i for any i ∈ S ∪ {n}; if Tr then M ′′ exists such that Tr n [M] ε,S∪{n} = === ⇒ M ′′ and M ′′ ≃ {a⟨{m} n .0⟩}i ,S∪{n} =========⇒ M ′′ , then M ′ exists such that M {(νm)a⟨{m} n .0⟩}i ,S∪{n} = =========== ⇒ M ′′ , then M ′ exists such that M {(ν  b)a⟨K ⟩} i ,S ======⇒ M ′ and Tr n [(ν  b)(M ′ |C⟨K ⟩)] ≃ n .0⟩])for any C (U) with fn(C (U)) ∩ {  b, m} = ∅; n [M] Hence Tr n [{P} 0 ] and Tr n [{Q } 0 ] are bisimilar.Formally, we have Tr n [{P} 0 ] ≃ [17]osition 8, the equivalence between P ∼ Nr Q and P ∼ Ct Q is obvious.Now we prove that strong context bisimulation and strong normal bisimulation coincide, which was presented in[17]as an open problem.Firstly, we introduce the concept of strong indexed context equivalence, strong indexed normal equivalence and strong indexed triggered equivalence.Definition 17 (Strong Indexed Context Equivalence).Let P, Q ∈ Pr c , we write P ∼ i Ct Q , if {P} k ≃ ∅ Ct {Q } k for some index k.As we defined before, where {P} k denotes indexed process with the same given index k on every prefix in P. Definition 18 (Strong Indexed Normal Equivalence).Let P, Q ∈ Pr c , we write P ∼ i Nr Q , if {P} k ≃ ∅ Nr {Q } k for some index k.Definition 19 (Strong Indexed Triggered Equivalence).Let P, Q ∈ Pr c , we write P ∼ [{Q } k ] for some index k with k ̸ = n.The following lemma states that strong normal bisimulation implies strong indexed normal equivalence.For any P, Q ∈ Pr c , P ∼ Nr Q ⇒ P ∼ i Nr Q .Now, the equivalence between ∼ Nr and ∼ Ct can be given.For any P, Q ∈ Pr c and any index n, P ∼ Nr Q ⇔P ∼ i Nr Q ⇔ P ∼ ⇔ P ∼ i Ct Q ⇔ P ∼ Ct Q .Proof.Firstly, by the definition, it is easy to prove P ∼ Ct Q ⇒ P ∼ Nr Q since the requirements in the definition of ∼ Nr are a subset of those in the definition of ∼ Ct .Furthermore, sinceP ∼ i Ct Q means {P} k ≃ ∅ Ct {Q } k for some index k, to prove P ∼ i Ct Q ⇒ P ∼ Ct Q , we only need to prove {P} k ≃ ∅ Ct {Q } k ⇒ P ∼ Ct Q .Suppose {P} k ≃ ∅ Ct {Q } k for some index k.The definition of ≃ ∅ Ct is the same as the definition of ∼ Ct except that all processes and actions have indices.Therefore we will get P ∼ Ct Q if we neglect all indices in the definition of ≃ ∅ Ct .By Lemma 7, P ∼ Nr Q ⇒ P ∼ i Nr Q .Hence P ∼ i Ct Q ⇒ P ∼ Ct Q ⇒ P ∼ Nr Q ⇒ P ∼ i Nr Q .Rd {Q } k for some index k.By Propositions 9 and 10, we know that ∼ i Rd coincides with ∼ Nr and ∼ Ct .Based on the equivalence between indexed bisimulations, we can give an alternative proof for the equivalence between weak context bisimulation and weak normal bisimulation.Definition 20. (Weak Indexed Context Equivalence) Let P, Q ∈ Pr c , we write P ≈ i Ct Q , if {P} k ≃ I Ct {Q } k for some index k, where I is the full index set.Definition 21. (Weak Indexed Normal Equivalence) Let P, Q ∈ Pr c , we write P ≈ i Nr Q , if {P} k ≃ I Nr {Q } k for some index k, where I is the full index set.Definition 22. (Weak Indexed Triggered Equivalence) Let P, Q ∈ Pr c , we write P ≈ i [{Q } k ] for some indices k and n, where k ̸ = n and I is the full index set.For any P, Q ∈ Pr c , P ≈ Nr Q ⇒ P ≈ i Nr Q .For any P, Q ∈ Pr c , P ≈ Nr Q ⇔ P ≈ i Nr Q ⇔ P ≈ i Tr Q ⇔ P ≈ i Ct Q ⇔ P ≈ Ct Q .Proof.Firstly, by the definition, it is easy to prove P ≈ Ct Q ⇒ P ≈ Nr Q since the requirements in the definition of ≈ Nr are a subset of those in the definition of ≈ Ct .Furthermore, P ≈ i Ct Q means {P} k ≃ I Ct {Q } k for some index k.The definition of ≃ I Ct is the same as the definition of ≈ Ct except that all processes and actions have indices.Therefore we will get P ≈ Ct Q if we neglect all indices in the definition of ≃ I Ct .By Proposition 8, it is easy to get P ≈ i Nr Q ⇔ P ≈ i Tr Q ⇔ P ≈ i Ct Q .By Lemma 8, P ≈ Nr Q ⇒ P ≈ i Nr Q , therefore the proposition holds.Similarly, we can define weak indexed reduction equivalence ≈ i Rd as follows: let P, Q ∈ Pr c , we write P ≈ i Rd Q if {P} k ≃ I Rd {Q } k for some index k.By Propositions 9 and 11, ≈ i Rd coincides with ≈ Nr and ≈ Ct .
Proof.See Appendix E. Q where Tr[ ] is the triggered mapping and ≈ Tr is the weak triggered bisimulation.In fact, this proposition can be got from Proposition 11.Firstly by Proposition 11, we have P ≈ Nr Q ⇔ Tr n [{P} k ] ≃ I [{Q } k ] ⇔ P ≈ Ct Q .Secondly, we can prove that Tr[P] ≈ Tr Tr[Q ] ⇔ Tr n [{P} k ] ≃ I Tr Tr n [{Q } k ].Hence P ≈ Nr Q ⇔ Tr[P] ≈ Tr Tr[Q ] ⇔ P ≈ Ct Q is a corollary of Proposition 11.But for the strong case, the claim: P ∼ Nr Q ⇔ Tr[P] ∼ Tr Tr[Q