Content uploaded by Pietro Di Gianantonio
Author content
All content in this area was uploaded by Pietro Di Gianantonio on Jun 17, 2014
Content may be subject to copyright.
Eﬃcient Bisimilarities from Secondorder
Reaction Semantics for πcalculus?
Pietro Di Gianantonio1Svetlana Jakˇsi´c2Marina Lenisa1
1Dipartimento di Matematica e Informatica, Universit`a di Udine, Italy.
{digianantonio,lenisa}@dimi.uniud.it
2Faculty of Engineering, University of Novi Sad, Serbia. sjaksic@uns.ac.rs
Abstract. We investigate Leifer and Milner RPO approach for deriv
ing eﬃcient (ﬁnitely branching) LTS’s and bisimilarities for πcalculus.
To this aim, we work in a category of secondorder term contexts and
we apply a general pruning technique, which allows to simplify the set
of transitions in the LTS obtained from the original RPO approach.
The resulting LTS and bisimilarity provide an alternative presentation
of symbolic LTS and Sangiorgi’s open bisimilarity.
Introduction
Recently, much attention has been devoted to deriving labelled transition systems
and bisimilarity congruences from reactive systems, in the context of process lan
guages and graph rewriting. Through the notion of contextual equivalence, re
active systems naturally induce behavioural equivalences which are congruences
w.r.t. contexts, while LTS’s naturally induce bisimilarity equivalences with coin
ductive characterizations. However, such equivalences are not congruences in
general, and it can be a diﬃcult task to derive LTS’s inducing bisimilarities
which are congruences.
Leifer and Milner [1] presented a general categorical method, based on the
notion of Relative Pushout (RPO), for deriving a transition system from a re
active system, in such a way that the induced bisimilarity is a congruence. The
labels in LeiferMilner’s transition system are those contexts which are minimal
for a given reaction to ﬁre. In the literature, some case studies have been carried
out in the setting of process calculi, for testing the expressivity of LeiferMilner’s
approach [2,3,4,5,6,7,8]. Moreover, to deal with structural rules, an elaboration
of the RPO theory in the Gcategory setting (GRPO) has been introduced by
Sassone and Sobocinski in [2].
In general, in applying the RPO construction one needs to deal with the
following problems:
– To encode all the characteristics of the language, mainly: structural rules, name
abstraction, name hiding.
?Work partially supported by PRIN Project SISTER 20088HXMYN and FIRB
Project RBIN04M8S8, both funded by MIUR.
– To obtain a label transition system which is usable, where proofs of bisimi
larities require to consider only a ﬁnite set of transitions at each step. Almost
always, the RPO approach generates LTS’s that are quite large and often redun
dant, in the sense that most of the transitions can be eliminated from the LTS
without aﬀecting the induced bisimilarity.
– When the RPO construction is performed, by embedding the category of terms
in a larger category, the resulting LTS can contain states that do not correspond
to any term of the language, and whose intuitive meaning is quite diﬃcult to
grasp.
In order to solve the above problems, the RPO construction needs to be
tunedup, that is we have to ﬁnd a convenient category in which to perform the
construction, and general methods for pruning the LTS.
In a previous work [7], we solve the above problems for the prototypical ex
ample of CCS. In [7], we use a category of term contexts,i.e. a Lawvere category.
We encode names, and name binding using de Bruijn indexes ; this allows a rela
tively simple and formally correct treatment of names, which, when represented
natively, can be quite subtle to treat. Moreover, in [7] we introduce a general
technique, which allows to prune an LTS obtained from a RPOconstruction,
without modifying the induced bisimilarity. This is achieved by eliminating de
ﬁnable sets of transitions, i.e transitions whose eﬀect can be obtained by other
transitions. In [7], by using the above ideas in applying the (G)RPO construction
to CCS, we obtain the standard LTS from the standard reaction semantics. This
is an indication that the (G)RPO technique in combination with our general
pruning technique can generate useful LTS’s.
In the present work, we treat in detail the πcalculus. The techniques devel
oped for CCS turn out to be useful also for the πcalculus, but for the latter,
in order to get an eﬃcient LTS, a further ingredient is necessary, i.e. second
order contexts. Categories of secondorder term contexts have been introduced
in [9] as generalizations of the Lawvere category of terms, where parametric rules
can be readily represented. Intuitively, if we apply LeiferMilner technique to π
calculus by working in a standard Lawvere category of term contexts, in the
resulting LTS, for any process Pexposing an output preﬁx, we need to consider
transitions P[ ]a(x).Q
−→ P0, for all Q. All these label contexts are “minimal” for
the reduction to ﬁre; we cannot avoid Q, since, in the resulting process P0, a
substitution is applied to Q. This makes the LTS ineﬃcient. To overcome this
problem, we use secondorder contexts. In this way, all the above transitions can
be parametrically captured by a single transition P[ ]a(x).X
−→ P00, where Xis a
variable representing a generic term, which will be possibly instantiated in the
future.
The ﬁnal result of our construction produces a bisimilarity which is a mild
variation of Sangiorgi’s open bisimilarity. In order to get the ﬁnal eﬃcient char
acterization of our bisimilarity, we need a further adhoc pruning. However, even
if the GRPO construction does not directly give the ﬁnal result, once applied, it
produces an LTS which is a superset of the ﬁnal usable one. Identifying redun
2
dant transitions is then not so diﬃcult; the only diﬃcult part is to prove that
these are redundant.
Interestingly enough, our analysis provides new insights on the theory of
πcalculus, namely we obtain an alternative presentation of symbolic LTS and
open bisimilarity, where distinctions do not appear.
Remarkably, the LeiferMilner technique has lead us to a bisimilarity con
gruence substantially in a direct way, just using general tools, without the need
of new concepts. Whereas, in the standard treatment, in moving from CCS to
πcalculus, various new notions are required, such as bound output transitions,
distinctions, etc. In conclusion, the results for CCS of [7] and the above results
for πcalculus are rather satisfactory, and they are an indication that the general
techniques used in this paper could also give new insights on more recent calculi,
whose theory is still evolving.
Related Work. The RPO construction has been applied to πcalculus in [3,10].
In [3], History Dependent Automata are used to present a reactive system for the
fragment of πcalculus without the νoperator. The reactive system is obtained
by starting from an LTS and then incorporating the labels in the initial state of
the transition. The reactive system considered in [10] is based on the theory of
bigraphs and models the asynchronous πcalculus.
The present work is also related to [11]. Both works use categories that
are suitable generalizations of the Lawvere category of contexts. However, in
our work we strictly apply the RPO construction to derive an LTS for the π
calculus, while [11] uses the RPO construction as a sort of inspiration for deﬁning
directly an LTS for the πcalculus. The two works use a quite diﬀerent notion of
generalized context, and thus also the obtained LTS’s are quite diﬀerent.
Summary. In Section 1, a presentation of πcalculus syntax with de Bruijn
indexes and parametric reaction semantics is given. In Section 2, the GRPO
technique is applied to πcalculus, and eﬃcient characterizations of the GIPO
bisimilarity are investigated. In Section 3, GIPO bisimilarity is compared with
open bisimilarity. Final remarks appear in Section 4. In Appendix A, the theory
of RPO’s in the Gcategory setting, and the general pruning technique of [7] are
recalled; in Appendix B some proofs are collected.
1 Secondorder πcalculus Processes
In this section, we present a version of πcalculus with de Bruijn indexes to
gether with reaction semantics. Such presentation allows us to deal smoothly
with binding operators, and it is needed for extending to contexts the structural
congruence on processes. In our presentation, πcalculus names a0, a1, . . . are
replaced by de Bruijn indexes r0, r1, . . ., which are name references.
Intuitively, a name reference can be viewed as a link (or a pointer). So a
bound name is replaced by a link to the corresponding binding operator, while
a free name is replaced by a link to its occurrence in a list of names. Concretely,
links are represented by natural numbers, and:
–binding operators νand input preﬁx do not contain any name;
3
–the index rirefers to the free name ajif j=i−n≥0 and riappears under
the scope of nbinding operators;
–otherwise, if i<n, then riis bound by the i+ 1th binding operator on its
left.
E.g. in νr1().r2r0.0, r0is bound by the input preﬁx r1(), while r1and r2both
refer to the free name a0. In standard syntax, the above process will be written
as (νa)a0(a0).a0a0.0.
Deﬁnition 1 (πcalculus Processes). Let r0, r1, . . . ∈ R be name references;
we will use r, s as metavariables for name references. We deﬁne
(Act 3)α::= τr() rs actions
(G 3)M::= 0 M1+M2α.P Yguarded processes
(P 3)P::= MXνP P1P2rec X.P σP processes
where
–X, X0, X1, . . . ∈ X are process variables, and Y, Y0, Y1, . . . ∈ Y are guarded
process variables; we will use Zto range over X ∪ Y;
–the process variable Xappears guarded in rec X.P ;
–σis a name substitution obtained as a ﬁnite composition of the transforma
tions {δi}i≥0∪ {si}i≥0∪ {tij }i,j≥0, where δi,sirepresent the ith shifting
and the ith swapping, respectively, and ti,j are the singleton substitutions,
deﬁned by:
δi(rj) = (rj+1 if j≥i
rjif j < i si(rj) =
rjif j6=i, i + 1
ri+1 if j=i
riif j=i+ 1
ti,j (rk) = (rkif k6=i
rjif k=i
Aclosed process is a process in which each occurrence of a variable is in the
scope of a rec operator.
In the following deﬁnition, we introduce the notion of secondorder context,
consisting of a variable substitution θand a ﬁrstorder context:
Deﬁnition 2 (Secondorder Contexts). We deﬁne the secondorder 1hole
process contexts (contexts) by:
C::= [ ]θνCP+CC+PPCCPrec X.CσC
where θ=θX+θY:X+Y → P +Gis a substitution of processes for process
variables, mapping (guarded) process variables into (guarded) processes.
4
Notation. We will often denote substitutions by the list of variables which are
actually substituted, i.e. as {P1/X1, . . . , Pm/Xm, M1/Y1, . . . , Mn/Yn}, omitting
the variables which are left unchanged. Moreover, for denoting secondorder con
texts, we will also use the notation C[ ]θ, when we need to make explicit the
variable substitution θ.
Notice that in the above deﬁnition of contexts we do not distinguish between
guarded and general contexts, thus also “illformed” contexts, such as ([ ]θP)+P0
are included at this stage. In Section 2, where we will apply the GIPO technique,
we will give a precise deﬁnition of guarded and general contexts.
In what follows, we will refer to πcalculus processes with de Bruijn indexes
and secondorder contexts as terms, denoted by T. Intuitively, when a second
order context C[ ]θis applied to a term T, the variable substitution θis applied
to Tand the resulting term is put in the hole. In order to formalize this no
tion of context application, we ﬁrst need to introduce the notion of applying a
substitution to a term:
Deﬁnition 3 (Context Application).
(i) Let Tbe a term, and let θbe a variable substitution. We deﬁne the extension
b
θto terms, by induction on Tas:
b
θ(Z) = θ(Z)b
θ([ ]θ0) = [ ]b
θ◦θ0
b
θ(T1+T2) = b
θ(T1) + b
θ(T2)b
θ(T1T2) = b
θ(T1)b
θ(T2)
b
θ(σT ) = σb
θ(T)b
θ(νT ) = ν(b
θ(T))
b
θ(rec X .T ) = rec X.b
θ0(T),where θ0(Z) = (θ(Z)if Z6=X
Xif Z=X
In what follows, by abuse of notation, we will often denote b
θ(T)simply by θ(T).
(ii) Let Cbe a context and let Tbe a term, the application of Cto T, denoted
by C·T, is deﬁned by induction on Cby:
[ ]θ·T=b
θ(T)νC·T=ν(C·T)
(P+C)·T=P+ (C·T) (C+P)·T= (C·T) + P
(PC)·T=P(C·T) (CP)·T= (C·T)P
(rec X.C·T) = rec X.(C·T) (σC)·T=σ(C·T)
In order to apply the GRPO technique to πcalculus, it is convenient to
extend the structural congruence, which is usually deﬁned only on processes,
to all contexts. Here is where the syntax presentation `a la de Bruijn plays an
important rˆole. Namely the πcalculus rule
(νaP )Q≡ν a(PQ),if anot free in Q
is problematic to extend to contexts with the usual syntax, since, if Qis a
context, we have to avoid captures by the νoperator of the free variables of the
processes that will appear in the holes of Q. Using de Bruijn indexes (and index
transformations), the above rule can be naturally extended to contexts as:
(νP )C≡ν(Pδ0C)
5
where the shifting operator δ0avoids the capture of free name references. In the
standard syntax there is no way of deﬁning a general name substitution playing
the role of δ0.
The complete deﬁnition of the structural congruence is as follows:
Deﬁnition 4 (Structural Congruence). Let Tbe a term. Structural congru
ence is the equivalence relation ≡, closed under process constructors, inductively
generated by the usual axioms on ,+, and by:
(nu)ν0≡0T(νT 0)≡ν((δ0T)T0)ννT ≡ννs0T
τ.νP ≡ντ.P rs.νP ≡νδ0(rs).P r().νP ≡ν δ0(r()).s0P
(sigma)σ0≡0σ(rs.T )≡σ(r)σ(s).σ(T)
σ(τ.T )≡τ.σ(T)σ(r().T )≡σ(r)().σ+1 T
σ(TT0)≡σ(T)σ(T0)σ(rec X .T )≡rec X.(σT )
σ(T+T0)≡σ(T) + σ(T0)σ(νT )≡ν(σ+1 T)
σ1. . . σmT≡σ0
1. . . σ0
nT, if σ1◦. . . ◦σm=σ0
1◦. . . ◦σ0
n
(subs) [ ]θ≡[ ]θ1if ∀X θ(X)≡θ1(X) (rec)rec X.P ≡P[rec X.P/X ]
where σ+1(ri) = (r0if i= 0
(σ(ri−1))+1 otherwise σ(α) =
σ(r)if α=r
σ(r)if α=r
τif α=τ
The last three (nu)rules are not standard in πcalculus presentations, since
they are not strictly necessary for proving the basic syntactic properties of the
calculus. However, they are safe because they allow to move, inside/outside the
νoperator, preﬁxes which are not captured by ν, see e.g. [12]. The assumption
of such extra rules is not essential in our presentation, however it simpliﬁes the
GIPO construction. As far as the (sigma)rule, notice that there is an eﬀective
procedure to determine whether σ1◦. . . ◦σm=σ0
1◦. . . ◦σ0
n. Namely, the two
compositions are equal if and only if they contain the same number of transfor
mations in the forms δiand their behaviour coincides on an initial segment of
indexes (whose length can be calculated from the δi’s and the si’s involved). Fi
nally, the unfolding rule (rec) is given only for processes P. It cannot be directly
extended to contexts, since their unfolding can produce multiplehole contexts.
However, the above (rec)rule is suﬃcient for our purposes, since we will only
need it in reducing processes.
As in the standard presentation, one can easily show that each πcalculus
process Pis structurally congruent to a process in normal form,i.e. a process of
the shape νk(Σm1
j=1S1,j . . . Σmn
j=1Sn,j ), where all unguarded restrictions are at
the top level, and name substitutions do not appear at the top level. We use S
to range over processes of the shape α.P or σY . If mi= 1 for some i∈ {1,...n}
then Scan also be of the form σX .
Deﬁnition 5 (Reaction Semantics). The reaction relation →is the least re
lation closed under the following reaction rules and reaction contexts:
6
Reaction rules. (r().X1+Y1)(rrj.X2+Y2)→(ν(t0,j+1 X1)) X2
τ.X +Y→X
Reaction contexts. D::= [ ]θνDPDDPσD
where σis a permutation of name references (a one to one reference substitu
tion).
Notice that the permutation σin the deﬁnition of reaction contexts is not strictly
necessary for deﬁning the reaction semantics. It could be omitted, without chang
ing the reaction semantics, since, using the congruence rules, name substitutions
distribute over the actions. However, in view of the GIPO construction of Sec
tion 2 it is useful to include it.
A mapping Tfrom standard πcalculus syntax into our de Bruijn presenta
tion can be deﬁned by structural induction, using an extra set of names with
negative indexes (a−1, a−2, . . .). The most meaningful cases are: T(P) = T0(P),
Tn(ai(aj).P ) = ri+n().Tn+1(P{a−n−1/aj}), Tn(aiaj.P ) = ri+nrj+n.Tn(P).
For any pair of πcalculus processes P, Q on the standard syntax, it turns out
that P→Qin the ordinary reaction system iﬀ T(P)→ T (Q) in our reaction
system. We omit the details.
2 Applying the GIPO Technique to Secondorder
πcalculus
For lack of space, we do not present in detail the (G)RPO construction, we refer
to [1] for a general introduction to the RPO technique, to [2] for the presentation
of the GRPO technique and to [7], or to Appendix A, for a compact presentation
of all the theory on which the results presented here are based.
However, in order to grasp most of the material presented in the paper, the
following informal and intuitive explanations of the GRPO construction may
suﬃce. The main idea in the RPO construction is to deﬁne an LTS, starting
from a reaction system. The states of the derived LTS are terms, while the
labels are the minimal contexts necessary for a given reaction to ﬁre. In more
detail, the LTS contains the transition tC
−→Iv, if the reaction system contains
the reaction C◦t→v, and for no subcontext C0of Cand no subterm v0of v,
there is a reaction C0◦t→v0. This idea is formalized using a category where
arrows represent terms or contexts. The notion of minimal context is deﬁned in
terms of a (relative) pushout construction. The main theoretical result is that
the LTS, obtained by the RPO construction, induces a bisimilarity that is a
congruence. The GRPO technique is a further elaboration of the RPO technique
necessary to deal with the structural rules of the syntax; here the main idea is
to perform the RPO construction in a 2category. A 2category is a category
having an extra notion of morphism between arrows. When such morphisms are
isomorphisms, as in the GRPO construction, the 2category is called Gcategory.
In our setting, morphisms between two arrows represent a structural congruence
between two terms (the two arrows), together with an induced mapping between
7
occurrences of name references in the two terms. Gcategories always allow to
distinguish between two diﬀerent name references denoting the same name, also
when structural rules are used. In some cases, the RPO construction in the
standard categories having as arrows equivalence classes of terms fails to produce
the correct transitions, an example being r0().0r0r1.0, see [2] for more details.
We deﬁne here the Gcategory formed by the ﬁnite (i.e. without the rec
operator) secondorder πcalculus terms equipped with structural congruence.
We restrict the Gcategory to contain only ﬁnite processes, because we need the
2cell morphisms to be isomorphisms. When πcalculus processes contain the rec
operator, two congruent processes can contain diﬀerent numbers of actions, so,
in general, there does not exist a onetoone map between occurrences of name
references.
It is possible to recover an LTS for the whole set of πprocesses by extending
the rules obtained for the ﬁnite calculus, namely allowing parametric rules to
be applied also to terms containing the rec operator (and by considering the
unfolding rule for rec). Quite general arguments show that, in the extended LTS,
the bisimilarity is still a congruence. Brieﬂy, the arguments are the following.
To any inﬁnite process Pone associates the set of its ﬁnite approximations
{Po
ii > 0}obtained by replacing, in the unfolding of P, the subterms containing
rec with 0. For the ﬁnite approximations, the following properties hold:
–each Po
iis simulated by P,
–if every ﬁnite approximation of Pis simulated by Q, then also Pis simulated
by Q,
–if a ﬁnite process Pois simulated by Q, then there exists a ﬁnite approxi
mation of Qsimulating Po.
Since the behaviour of a term is described by the behaviour of its ﬁnite approx
imations, from the fact that simulation is a precongruence on ﬁnite approxima
tions it follows that simulation is also a precongruence on inﬁnite processes.
Moreover, once restricted to ﬁnite processes, in the deﬁnition of πcalculus
term category, it is suﬃcient to consider linear terms, that is terms where each
variable appears at most once. This restriction is justiﬁed by the fact that, in the
GIPO transition system, closed terms generate only linear open terms; moreover,
it simpliﬁes the GIPO construction below.
Since the πcalculus grammar needs to distinguish between guarded and
generic terms, the category needs to contain two corresponding distinct objects.
Formally:
Deﬁnition 6 (Category of Secondorder πcalculus Terms). Let Cπbe
the category deﬁned by:
–Objects are ,G,P.
–Arrows from to G(P) are linear (un)guarded processes, i.e. processes where
each variable appears at most once. Arrows A→Bare the contexts CB
A
generated by the grammar:
CG
G::= [ ]θα.CP
GCG
G+MM+CG
G
8
CG
P::= α.CP
PCG
P+MM+CG
P
CP
G::= CG
GνCP
GCP
GPPCP
GσCP
G
CP
P::= [ ]θCG
PνCP
PCP
PPPCP
PσCP
P
where any context CB
A=C[ ]θis linear, i.e. any variable appears at most
once in C[ ] and in the codomain of θ.
The identity arrow on Gand Pis [ ]id. The only arrow with codomain is the
identity. The composition between morphisms T:A→A0,T0:A0→ A00 is the
context application T0·T.
In what follows, when not necessary, we will omit tags from contexts.
One can easily prove that the above deﬁnition is wellposed. In particular,
associativity of composition follows from associativity of composition of variable
substitutions.
By induction on a proof of structural congruence, it is possible to show that
two structurally congruent ﬁnite terms have the same number of occurrences for
each action, and each proof of congruence induces a one to one map between
instances of name references in an obvious way. Thus we can deﬁne:
Deﬁnition 7 (2cell isomorphisms). 2cell isomorphisms between Tand T0
in Cπare the onetoone maps between occurrences of name references in Tand
T0, induced by the proof of structural congruence.
The above maps induce a structure of Gcategory on Cπ. Horizontal composi
tion corresponds to the union of the onetoone maps , while vertical composition
amounts to standard function composition. One can easily check that horizon
tal and vertical compositions are wellbehaved, in particular the “middlefour
interchange law” holds. Thus we have:
Proposition 1. The structural congruence on terms induces a structure of G
category on Cπ.
Now we can deﬁne the Greaction system of ﬁnite (second order) πcalculus
processes:
Deﬁnition 8 (Greaction system). The Greaction system Cπconsists of
–the Gcategory of πcalculus terms Cπ;
–the distinguished object ;
–the subset of linear reaction contexts of Deﬁnition 5;
–the reaction rules of Deﬁnition 5.
One can easily check that the set of reaction contexts as deﬁned above are
compositionreﬂecting and closed under 2cells. In particular, in proving that
contexts are compositionreﬂecting, it turns out to be essential to have included
also reaction contexts of the shape σD, for σa permutation.
Proposition 2. The Greaction system Cπhas redex GRPOs.
9
A proof of the above proposition appears in Appendix B.
Table 1 summarizes the GIPO contexts (i.e. the labels in the derived LTS)
for every possible term (upto structural congruence). For simplicity, we denote a
term equivalence class simply by a special representative. For each process P, on
the basis of its form (speciﬁed in the ﬁrst column of the table), the correspond
ing GIPO contexts are listed, i.e. the “minimal” contexts which make possible
a certain reaction. Redex squares can be classiﬁed according to the following
“parameters”:
–type of the reaction rule (τreaction or communication);
–how elements of the redex are obtained:
•already present in P;
•by instantiating variables in P;
•appearing in the context;
–in case of variable instantiation by an output action, the name sent can be
either private or public.
A more detailed description of the GIPO contexts of Table 1 follows.
Rows 1–3 correspond to a τreaction, while rows 4–13 correspond to a com
munication reaction. In particular, row 1 takes into account the case where an
internal transition in the process Pis present. In such case the GIPO context
is the identity, upto a certain bijective name substitution βand a variable sub
stitution δ. The substitution δsends all variables into variables with even index
(see the note at the bottom of Table 1), and it is used to preserve linearity in the
term C·P. Namely, δensures that the variables with odd indexes will not appear
in the process, and hence they can be used in the context (see e.g. row 2). Row 2
corresponds to the case where a variable Zappears at the top of a process P, and
the GIPO context instantiates the variable with a τtransition. Row 3 shows all
GIPO contexts where the τreaction is “all inside the context” (and the process
plays a passive rˆole). Row 4 corresponds to the case where the process Pexposes
two complementary actions. Then the minimal context in which the communi
cation arises is βι[ ]δ, where βis a name substitution and ιis the identity, if the
channel references rand r0in the complementary actions already matches, or a
singleton substitution fusing the two channel references, otherwise, see the note
at the bottom of Table 1. Here we use a function [[ ,]] to express the fact that
the two occurrences of name references in the complementary actions refer to the
same name. This function, given a process and an occurrence of a name reference
riin it, provides the “absolute” index of the name referred by the the occurrence
ri, if riis free in P, that is [[P, ri]] = jmeans that rirefers to the free name
aj; otherwise, if riis bound, [[P, ri]] provides the negative index corresponding
to the nesting level of the occurrence riinside the binding operators (νor input
preﬁx) in P(we omit the formal deﬁnition). Rows 5 and 6 take into account
the case where the process Pexposes either an input or an output action and
the GIPO context provides the complementary action for the communication.
In rows 7–12 we consider all cases where one or two variables appear in P. Then
a communication reaction arises when the GIPO context instantiates the two
variables by a complementary actions (rows 7,7’), or it instantiates a variable by
10
an input (output) action and provides the complementary action (rows 8,9,9’),
or the GIPO context instantiates the variable in Pby the whole communication
redex (rows 10,10’), or ﬁnally the GIPO context instantiates the variable with
an action and the complementary action already appears in the process (rows
11,11’,12). Notice that when a variable is instantiated with an output action, we
need to consider two possible instantiations, that is the one where the name sent
is not locally bounded (7,9,10,11) and the one where the name sent is private,
i.e. locally bounded by ν(7’,9’,10’,11’). The last row 13 in the table takes into
account the cases where a communication redex is all in the context.
The GIPO LTS described in Table 1 is quite redundant. Namely, there are
many GIPO contexts which are intuitively redundant; e.g. all contexts in rows
3 and 13, which are “not engaged”. Moreover, in various other cases the eﬀect
of some GIPO contexts can be simulated by a restricted set of simpler contexts.
Many redundant contexts can be eliminated by applying the general pruning
technique presented in [7] and recalled in Appendix A. The result is the LTS of
reduced GIPO contexts,R, formed by the contexts marked by ∗in the column
R of Table 1, in which the name substitution βis restricted to be the identity.
Namely, the GIPO LTS of Table 1 is deﬁnable from the set Rof reduced GIPO
contexts. A proof of this can be found in Appendix B. As a consequence, our
general pruning technique ensures that the bisimilarity ∼Rinduced by the LTS
deﬁned in column R coincides with the original GIPO bisimilarity ∼G, and hence
it is a congruence.
A further simpliﬁed LTS can be obtained by an adhoc analysis. In fact, one
can prove that the GIPO context in row 2 of Table 1 can be eliminated, since
intuitively it just allows us to observe that a variable appears in the term, but
there are other contexts that allow us to observe this. Also the GIPO contexts in
rows 7’,9’,11’ are redundant; intuitively, the behavior of a process which receives
a new bound name is subsumed by the behavior of the same process receiving a
new free name. Moreover, the σ’s of the GIPO contexts in rows 5,6,8,9 can also
be avoided.
Formally, we deﬁne an LTS, F, composed by the GIPO contexts marked by
?in column F of Table 1. The proof that the bisimilarity induced by the LTS
Fcoincides with the original GIPO bisimilarity is based on the technique of the
“bisimulation upto”, and follows from Lemma 2 given in Appendix B.
Proposition 3. The bisimilarity ∼Finduced by the LTS Fcoincides with the
original GIPO bisimilarity ∼G, and hence it is a congruence.
Apparently, the LTS F obtained is still inﬁnitely branching. This is due to
the fact that we consider transitions where the context contains an output action
rs.X, and scan be any reference. But, when comparing two processes P, Q in
the bisimilarity relation, it is suﬃcient to consider sto be a reference to a name
in Por Q, or a reference to just a new name not appearing in Por Q. In this
way, we get a ﬁnitely branching LTS.
Now, if our aim is to deﬁne a bisimilarity relation on πcalculus processes
which do not contain process variables, then it is possible to consider a much
11
Table 1. πcalculus GIPO contexts.
Process GIPO context R F
P≡νk(Σm1
j=1S1,j . . . Σmn
j=1Sn,j )C
1∃i, j. Si,j =τ.Pi,j β[ ]δ∗?
2∃i, j. Si,j =σZ β[ ]{(τ .X1+Y1)/δZ}◦δ∗
3C0[ ]θ+τ.X1
C0[ ]θ(τ.X1+Y1)
τ.C 0[ ]θ+Y1
4∃i, j, i0, j0. i 6=i0∧βι[ ]δ∗?
Si,j =r().Pi,j ∧Si0,j0=r0s.Pi0,j0
5∃i, j. Si,j =r().Pi,j (r0s.X1+Y1)(σ[ ]δ+Y3)∗?
6∃i, j. Si,j =rs.Pi,j (r0().X1+Y1)(σ[ ]δ+Y3)∗?
7∃i, j, i0, j0. i 6=i0∧βι[ ]{(r().X1+Y1)/δZ ,(r0s.X3+Y3)/δZ 0}◦δ∗?
Si,j =σ1Z∧Si0,j0=σ2Z0
7’ ∃i, j, i0, j0. i 6=i0∧βι[ ]{(r().X1+Y1)/δZ ,ν (r0r0.X3+Y3)/δZ0}◦δ∗
Si,j =σ1Z∧Si0,j0=σ2Z0
8∃i, j. Si,j =σ0Z(r0s.X1+Y1)σ[ ]{(r().X3+Y3)/δZ}◦δ∗?
9∃i, j. Si,j =σ0Z(r0().X1+Y1)σ[ ]{(rs.X3+Y3)/δZ}◦δ∗?
9’ ∃i, j. Si,j =σ0Z(r0().X1+Y1)σ[ ]{ν(rr0.X3+Y3)/δZ}◦δ∗
10 ∃i mi= 1 ∧Si,1=σX β[ ]{((r().X1+Y1)(r0s.X3+Y3))/δX}◦δ∗?
r6=r0r6=r0
10’ ∃i mi= 1 ∧Si,1=σX β[ ]{((r().X1+Y1)ν(r0r0.X3+Y3))/δX}◦δ
11 ∃i, j, i0, j0. i 6=i0∧βι[ ]{(r0s.X1+Y1)/δZ}◦δ∗?
Si,j =σZ ∧Si0,j0=r().Pi0,j 0
11’ ∃i, j, i0, j0. i 6=i0∧βι[ ]{ν(r0r0.X1+Y1)/δZ}◦δ∗
Si,j =σZ ∧Si0,j0=r().Pi0,j 0
12 ∃i, j, i0, j0. i 6=i0∧βι[ ]{(r0().X1+Y1)/δZ}◦δ∗?
Si,j =σZ ∧Si0,j0=rs.Pi0,j0
13 C0[ ]θ(r().X1+Y1)(rs.X3+Y3)
(rs.X1+Y1)(C0[ ]θ+r().X3)
(rs.X1+Y1)(r().C0[ ]θ+Y3)
where:
 the substitution δ= [X2h/Xh, Y2h/Yh]h≥0sends all variables into variables with even index;
C0[ ]θin rows 3 and 13 is any secondorder context s.t. the variables in the GIPO context
are not in the codomain of θ;
r, r0are such that [[C·P, r]] = [[C·P , r0]];
 if Cis of the form βιC0, then ιis the identity if [[C0·P, r ]] = [[C0·P, r0]], and a singleton
substitution otherwise.
∗where β, if it appears, is the identity.
?where βand σ, if they appear, are the identity.
12
Table 2. πcalculus ﬁnal GIPO contexts for closed processes.
Process GIPO Context
P≡νk(Σm1
j=1S1,j . . . Σmn
j=1Sn,j σX)C
1∃i, j. Si,j =τ.Pi,j [ ]id
2∃i, j, i0, j0. i 6=i0∧Si,j =r().Pi,j ∧Si0,j0=r0s.Pi0,j 0ι[ ]id
3∃i, j. Si,j =r().Pi,j [ ]{r0s.X1+Y1/δX}◦δ
4∃i, j. Si,j =rs.Pi,j [ ]{r0().X1+Y1/δX }◦δ
5 [ ]{(r().X1+Y1r0s.X3+Y3)/δX}◦δ
r6=r0
where:
r, r0are such that [[C·P, r]] = [[C·P , r0]];
 if Cis of the form ι[ ]id, then ιis the identity if [[P, r ]] = [[P, r0]], and
a singleton substitution otherwise.
simpler LTS, namely the LTS presented in Table 2. This LTS is intended for
processes in the form νk(PσX ), with Pa closed process. The above set of
processes is closed by all transitions, but 5, which is then meant to be applied just
once. In order to compare two closed processes P, Q, we proceed by comparing
the processes PXand QX, using the LTS of Table 2. Namely, if ∼Cdenotes
the induced bisimilarity, we have:
Proposition 4. For any pair of closed processes P, Q, we have that P∼FQiﬀ
PX∼CQX.
3 GIPO Bisimilarity on Standard Syntax vs Open
Bisimilarity
In this section, ﬁrst we provide a presentation of GIPO LTS and bisimilarity
for closed processes in the standard πcalculus syntax. Then, we compare this
bisimilarity with Sangiorgi’s open bisimilarity, [13]. GIPO bisimilarity turns out
to be ﬁner than open bisimilarity; however a small variant of it gives exactly
the open bisimilarity. Thus, interestingly enough, we obtain an eﬃcient char
acterization of open bisimilarity, alternative to Sangiorgi’s characterization on
the symbolic LTS, [13]. An advantage of our presentation lies in the fact that
our bisimilarity has a direct deﬁnition of the LTS, without requiring the extra
machinery of distinctions.
3.1 A Presentation of GIPO Bisimilarity on Standard Syntax
In order to compare our GIPO LTS and bisimilarity with standard LTS’s and
bisimilarities of πcalculus, it is useful to provide a presentation of GIPO LTS
and bisimilarity for closed processes in the standard πcalculus syntax.
13
The intuitive idea is the following. The LTS in Table 2 uses terms having
form νk(PσX). In the standard syntax, there is an immediate correspondent
for the part νk(P), that is the corresponding nameful πcalculus term. Less
obvious is how to deﬁne a correspondent for the σX part. The permutation σ
essentially depends on output actions that have been performed in the previous
transitions (history), and there are three important aspects: (i) the permutation
σis determined by the list of names that have been communicated by the process
Pto X(the observer); (ii) σdetermines which private names in νk(P) can be
used for future communications; (iii) through transitions of kind 5 in Table 2,
we can check which public name has been communicated to X, and whether the
same private name has been used in two diﬀerent communications.
The following example illustrates the above remarks. Consider the nameful
πcalculus process (νa2)a0a2.a2a1.0, its correspondent in de Bruijn notation is
νr1r0.r0r2.0; put in parallel with a process variable X, the process becomes
ν(r1r0.r0r2.0δ0X). According to Table 2, the only possible transition for this
process is through the GIPO context [ ]{r0().X1+Y1/δX}◦δ. The application of
the context to the term gives ν(r1r0.r0r2.0δ0r0().X1+Y1)≡ν(r1r0.r0r2.0
(r1().δ1X1+δ1Y1), so the result of the GIPO transition is ν(r0r2.0ν(t0,1◦
δ1)X1)≡ν(r0r2.0νδ0X1)≡ν2(r1r3.0δ0X1). In this later process, the bound
reference r1is visible to the process variable X1, so it is possible to proceed with
the GIPO transition [ ]{r0().X1+Y1/δX1}◦δ, leading to the process ν3((t0,4◦δ1)X1).
The name substitution (t0,4◦δ1) transforms both name references r0and r3in the
name reference r4, so there is the GIPO transition [ ]{r0().X1+Y1r3sX3+Y3/δX1}◦δ,
that allows to observe that in the previous transitions the name reference r3,
corresponding to the name a1, has been passed to X1.
Given the above observations, we represent the information captured by σX
via the list Lof private names communicated to Xby the process. We omit public
names, since they can be represented directly on the labels of the LTS, and their
presence in the list is not strictly necessary. Thus in the LTS we consider pairs
hνaQ, Lisuch that the elements of Lare names in a. Possible applications of
the αrule to the process apply also to the list of names L.
Labels αin the LTS range over α::= τ {a0/a}  xy xy, where we assume
the set of names ordered, and we denote by {a0/a}a singleton substitution, with
a < a0in such ordering.
Transitions hP, Liα
−→ hP0, L0iare described in Table 3.
Remark. Traditional LTS’s use as labels part of the term, dually (G)RPO LTS’s
use as labels contexts that can interact with the term, and in particular with
the part of the term that is “put in evidence” by the traditional LTS; in the
presentation above we use a traditional approach.
In order to deﬁne the bisimilarity induced by the above LTS, we ﬁrst need
to deﬁne a relation on possibly bound names w.r.t. lists of names:
Deﬁnition 9. Let L, M be name lists. We deﬁne
x=LM yiﬀ x=a=yor x=νa ∧y=ν a0∧ ∀i. (a=L(i)⇐⇒ a0=M(i)) .
14
Table 3. Transitions in the standard LTS.
Process List Label Process List
P≡νa(Σm1
j=1S1,j . . . Σmn
j=1Sn,j )L α P 0L0
1∃i, j. Si,j =τ.Pi,j τ P 0≡νa(. . . Pij . . .)
L0≡L
2∃i, j, i0, j0.(i6=i0∧Si,j =a(b).Pi,j ∧τ P 0≡νa(. . . Pij {c/b}  . . .
Si0,j0=ac.Pi0,j0). . . Pi0j0. . .)
L0≡L
3∃i, j, i0, j0.(i6=i0∧Si,j =a(b).Pi,j ∧ {a0/a}P0≡(νa(. . . Pij {c/b}  . . .
Si0,j0=a0c.Pi0,j0). . . Pi0j0. . .)){a0/a}
a, a0∈free(P), a < a0L0≡L
4∃i, j. Si,j =a(b).Pi,j ∧a∈free(P)∪L xy P 0≡νa(. . . Pij {c/b}  . . .)
(c6∈ bn(P)∨c∈L)∧L≡L0
5∃i, j. Si,j =ac.Pi,j ∧a∈free(P)∪L xy P 0≡νa(. . . Pij . . .)
L0≡Lif c∈free(P)
L:cotherwise
where substitution is captureavoiding, i.e. αconversion is possibly applied before
applying substitution; x≡aif a∈free(P)
νa otherwise and y≡cif c6∈ bn (P)
νc otherwise
The above relation on names can be naturally extended to labels. Then, the
GIPO bisimilarity can be recovered on standard πcalculus as the canonical
bisimilarity induced by the LTS above, upto the use of the relation =LM on
labels instead of equality. That is, for P, Q processes on the standard syntax, ∅
the empty list, and T(P),T(Q) the translations of P,Qin the syntax with de
Brujin indexes, we have:
Theorem 1. (P, ∅)∼(Q, ∅)iﬀ T(P)∼CT(Q).
3.2 GIPO Bisimilarity vs Syntactical and Open Bisimilarity
One can check that the GIPO bisimilarity coincides with the syntactical bisimi
larity introduced in [3] for the πcalculus fragment without the νoperator. Syn
tactical bisimilarity is a variant of the open bisimilarity, obtained by requiring
that a transition with a fusion label is simulated by a transition with the same
fusion (and not by a possibly τtransition). A stronger result holds, that is a
small variation of our bisimilarity ∼coincides with the open bisimilarity ∼O
on the full calculus. Namely, let ≈denote the bisimilarity obtained from ∼by
allowing a fusion transition with label {a0/a}to be simulated either by the same
fusion or by a τtransition. The asymmetric deﬁnition of ≈is reminiscent of the
semisaturated bisimilarity introduced in [6]. We have:
Theorem 2. ≈=∼O.
The above theorem (whose proof is sketched in Appendix B) gives us a new
eﬃcient characterization of the open bisimilarity. The most evident diﬀerence
15
between our presentation and the standard symbolic presentation is that in the
latter distinctions are needed, while we do not use them. An explanation for this
is that, when comparing two terms that can perform an input transition, the
open bisimilarity considers just one transition on a free name, while we need to
consider also all the transitions, where a previously communicated bound name
(contained in the list L) is received.
4 Conclusions and Future Work
We have applied the GRPO construction to the full πcalculus, using two extra
important ingredients. Firstly, we have worked in a category of secondorder
contexts, based on a presentation of πcalculus with de Bruijn indexes. Secondly,
a general pruning technique has been applied, in order to simplify the LTS
obtained by the standard (G)RPO construction. Finally, the application of a
more adhoc simpliﬁcation technique has allowed us to get an eﬃcient LTS and
bisimilarity, and a new characterization of Sangiorgi’s open bisimilarity. As it
often happens, also in the present case LeiferMilner technique by itself does not
directly give an eﬃcient LTS and bisimilarity. However, this technique, applied
in the setting of secondorder contexts and in combination with our general
pruning technique, gives us substantially less redundant LTS’s and bisimilarities,
and leads us to the ﬁnal eﬃcient presentation. Moreover, new insights on the
calculus are obtained by applying this machinery. The construction presented in
this paper is solid under variations of πcalculus syntax, e.g. including replication
or match/mismatch operators. In conclusion, the results obtained for πcalculus
in this paper and for CCS in [7] are quite promising; in particular, they show
that the LeiferMilner technique is valuable in suggesting interesting notions of
LTS’s and bisimilarities. Therefore, it would be worth to experiment the above
machinery on more recent calculi, for which the notions of LTS and bisimilarity
are still evolving.
References
1. Leifer, J.J., Milner, R.: Deriving bisimulation congruences for reactive systems.
In: CONCUR. Volume 1877 of LNCS., Springer (2000) 243–258
2. Sassone, V., Sobocinski, P.: Deriving bisimulation congruences using 2categories.
Nord. J. Comput. 10 (2003) 163–190
3. Ferrari, G.L., Montanari, U., Tuosto, E.: Model checking for nominal calculi. In
Sassone, V., ed.: FoSSaCS. Volume 3441 of LNCS., Springer (2005) 1–24
4. Gadducci, F., Montanari, U.: Observing reductions in nominal calculi via a graphi
cal encoding of processes. In: Processes, Terms and Cycles. Volume 3838 of LNCS.,
Springer (2005) 106–126
5. Bonchi, F., Gadducci, F., K¨onig, B.: Process bisimulation via a graphical encoding.
In: ICGT. Volume 4178 of LNCS., Springer (2006) 168–183
6. Bonchi, F., K¨onig, B., Montanari, U.: Saturated semantics for reactive systems.
In: LICS, IEEE Computer Society (2006) 69–80
16
7. Di Gianantonio, P., Honsell, F., Lenisa, M.: Finitely branching labelled transition
systems from reaction semantics for process calculi. In: WADT. Volume 5486 of
LNCS., Springer (2009) 119–134
8. Bonchi, F., Gadducci, F., Monreale, G.V.: Reactive systems, barbed semantics,
and the mobile ambients. In de Alfaro, L., ed.: FOSSACS. Volume 5504 of Lecture
Notes in Computer Science., Springer (2009) 272–287
9. Di Gianantonio, P., Honsell, F., Lenisa, M.: RPO, secondorder contexts, and
lambdacalculus. Logical Methods in Computer Science 5(2009)
10. Jensen, O.H., Milner, R.: Bigraphs and transitions. In: POPL. (2003) 38–49
11. Sobocinski, P.: A wellbehaved lts for the picalculus: (abstract). Electr. Notes
Theor. Comput. Sci. 192 (2007) 5–11
12. Parrow, J.: An introduction to the picalculus. In Bergstra, Ponse, Smolka, eds.:
Handbook of Process Algebra, Elsevier (2001) 479–543
13. Sangiorgi, D.: A theory of bisimulation for the picalculus. Acta Inf. 33 (1996)
69–97
14. Sobocinski, P.: Deriving process congruences from reduction rules. PhD thesis,
University of Aarhus (2004)
15. Jensen, O.H., Milner, R.: Bigraphs and transitions. In: POPL, ACM (2003) 38–49
A Appendix: Reaction Systems in the Gcategory Setting
Deﬁnition 10 (GCategory). A 2category Cconsists of
–A set of objects: A, B, C, ...
–For any pair of objects A, B ∈ C, a category C(A, B). Objects in C(A, B)are
called 1cells morphisms, and denoted by f:A→B. Arrows in C(A, B)are
called 2cells isomorphisms and represented by α:f⇒gor by A
f
&&
g
88
αB.
Composition in C(A, B), called vertical composition, is denoted by •.
–For all objects A, B and C, there is a functor ◦:C(B , C)× C(A, B)→
C(A, C), called horizontal composition, which is associative and admits the
identity 2cells of idAas identities.
A Gcategory is a 2category whose 2cells morphisms are all isomorphisms.
Deﬁnition 11 (GReaction System). AGreaction system Cconsists of:
–a Gcategory C;
–a distinguished object 0∈ C;
–a collection Dof 1cells morphisms, in C.Dis referred as the set of reaction
contexts, it is required to be closed under 2cells, and to reﬂect composition.
–a set of pairs R⊆SI∈C C[0, I]× C[0, I ]of reaction rules.
The reaction contexts are those in which a reaction can occur. By composition
reﬂecting we mean that d◦d0∈ D implies d, d0∈ D, while by closure under
2cells we mean that if d∈ D,α:d⇒d0then d0∈ D.
Deﬁnition 12 (GRPO/GIPO).
17
(i) Let Cbe a Gcategory and let us consider the commutative diagram in
Fig. 1(i). Any tuple hI5, e, f, g, β , γ, δiwhich makes diagram in Fig. 1(ii)
commute and such that δl •gβ •γt =αis called a candidate for (i).
(ii) A G relative pushout (RPO) is the smallest such candidate, i.e. it satisﬁes
the universal property that given any other candidate hI6, e0, f0, g 0, β0, γ0, δ0i,
there exists a mediating morphism given by a tuple hh, ϕ, ψ, τ i, with τ:
g0h⇒g, such that diagrams in Fig. 1(iii) commute. Moreover, the fol
lowing identities on two cells need to be satisﬁed: γ=τ e •g0ϕ•γ0,δ=
δ0•g0ψ•τ−1f,β0=ψl •hβ •ϕt. Such a mediating morphism must be
unique, up to 2cell isomorphisms.
(iii) A commuting square such as diagram in Fig 1(i) is a Gidem pushout
(GIPO) if hI4, c, d, idI4, α, 1c,1diis its GRPO.
I4
I2
c
>>







α
=⇒I3
d
``B
B
B
B
B
B
B
B
0
(i)
t
aaB
B
B
B
B
B
B
Bl
==








I4
I2
e//
~
~
~
~
~
~
~
c
??
>
>
>
>#
γ
I5
g
OO
I3
f
oo
@
@
@
@
@
@
@
__
d
δ
0
(ii)
t
``@
@
@
@
@
@
@
@l
>>
~
~
~
~
~
~
~
~
β
=⇒
I4
I6
g0
OO
I2
e//
~
~
~
~
~
~
~
e0
??
>
>
>
>#
ϕ
c
GG
O
O
O
O#+
γ0
I5
(iii)
h
OO
I3
f
oo
@
@
@
@
@
@
@
__
f0
ψ
//////////////
WW
d
o
o
o
o
s{δ0
Fig. 1. Redex Square and Relative Pushout.
Deﬁnition 13 (GIPO Transition System).
–States: equivalence classes of arrows [t] : 0 →Iin C, for any I; two arrows
are in the same equivalence class if there exists a 2cell isomorphism between
them;
–Transitions: [t][c]
−→I[dr]iﬀ d∈ D,hl, ri ∈ Rand the diagram in Fig. 1(i) is
a GIPO.
An important property of GIPO squares is that they are preserved by the
substitution of one edge with a two 2cell isomorphic one, [14]. It follows that the
transition relation is independent from the chosen representative of an equiva
lence class. Let ∼Gdenote the bisimilarity induced by the GIPO LTS.
Another important property is the pasting property for GIPO squares.
Lemma 1 (GIPO pasting, [14]). Suppose that the square in Fig. 2(i) has an
GRPO and that both squares in Fig. 2(ii) commute.
(i) If the two squares of Fig. 2(ii) are GIPOs so is the outer rectangle.
(ii) It the outer rectangle and the left square of Fig. 2(ii) are GIPOs so is the
right square.
18
e0
f0//
f1
e2
g0//
g1α•σf0;C
(i)
g1//
e0
f0//f1//
e1
e2
g0//
α;C
(ii)
g1//
σ;C
Fig. 2. GIPO pasting.
Deﬁnition 14 (Redex GRPO). Let Cbe a Greaction system and t: 0 →I2
an arrow in C. A redex square is a diagram in the form of Fig. 1(i), with lthe
lefthand side of a reaction rule and da reaction context. A Greaction system
Cis said to have redex GRPOs if every redex square has a GRPO.
The following fundamental theorem is provable using the GIPO pasting
lemma:
Theorem 3. Let Cbe a Greaction system having redex GRPOs. Then the
GIPO bisimilarity ∼Gis a congruence w.r.t. all contexts, i.e. if a∼Gbthen for
all cof the appropriate type, ca∼Gcb.
A.1 Pruning the GIPO LTS
In this section we present a construction (which has been ﬁrstly introduced in
[9]), allowing to prune the LTS obtained by the GIPO construction. In this way
it is possible to derive simpler and more usable LTS’s. The key notion is that of
deﬁnability. In a GIPO LTS, the GIPO transitions that are “deﬁnable” in some
suitable sense can be removed without aﬀecting the bisimilarity induced by the
LTS.
Deﬁnition 15. Given a Greaction system C, having redex GRPOs, let Tbe a
subset of the whole set of GIPO transitions,
(i) we say that Tis closed under bisimilarity if for any [t1],[t0
1],[t2],[t0
2],[f],
such that [t1]∼G[t0
1],[t2]∼G[t0
2],[t1][f]
−→I[t2],[t0
1][f]
−→I[t0
2], we have that:
[t1][f]
−→I[t2]∈ T iﬀ [t0
1][f]
−→I[t0
2]∈ T
(ii) we say that the whole GIPO LTS is deﬁnable from Tif there exists a set
of triples { h[fk],[f0
k], ekik∈K}of the following form:
–[fk]GIPO label, [f0
k]GIPO label or f0
k=∗with fk:Ik→I0
k,f0
k:Ik→
Jk(where we set ∗:Ik→Ik)
–ek:Jk→Ik(with Jkpossibly 0)
and such that, in the whole GIPO LTS, there is a transition [t][f]
−→I[t0]if
and only if there exist k∈K,t00 : 0 →Jksatisfying:
–[f]=[fk],
–([t][f0
k]
−→I[t00]∈ T )or (t00 =t∧f0
k=∗)
–([t0]=[ek(t00)] ∧Jk6= 0) or ([t0]=[ek]∧Jk= 0)
19
Intuitively a tuple h[fk],[f0
k], ekisays that some of the transitions with label
[fk] can be simulated by transitions with label [f0
k] and contexts ek. We allow
the extra case of f0
k=∗to deal with those transitions that can be simulated by
just inserting the original term in a contexts ek, following [15] we can call not
engaged these kind of transitions.
Deﬁnition 15 above is a special case of Deﬁnition 9 of [7], where the notion
of deﬁnability involves also a sort of HennessyMilner propositions.
Proposition 5 ([7]). Given a reaction system C, and a subset Tof transi
tions that is closed under GIPO bisimilarity and such that the whole GIPO LTS
is deﬁnable from T, then ∼G=∼T, i.e. the two GIPO LTS induce the same
bisimilarity.
B Appendix
Proof of Proposition 2.
In order to prove that the Greaction system Cπhas redex GRPOs, it is necessary
to construct, for any possible redex square, the corresponding GRPO.
A remark about variable substitutions in GRPO constructions. Given a com
muting square in the form α:C[ ]θ1◦P⇒D[ ]θ2◦L, the square remains
commuting also modifying the behavior of θ1and θ2on the variables not ap
pearing in Pand L, respectively. Since in the GRPOs need to consider the
most general substitution, it follows that, in any GRPO square having form
α:C[ ]θ1◦P⇒D[ ]θ2◦L, for any Z1not appearing in P,θ1(Z1) must be a
variable not appearing in the codomain of θ2. A symmetric condition holds for
any variable Z2not appearing in L. Since Pand Lcontain just a ﬁnite num
ber of variables, it follows that the substitutions θ1and θ2, for all but a ﬁnite
number of variables, map variables into variables and have disjoint codomains.
In particular, in the redex GRPO that we deﬁne, the substitution θ1, in all but
a ﬁnite number of cases, maps a variable with index iinto a variable with index
2i, while the substitution θ2, in all but a ﬁnite number of cases, maps a variable
into a variable with odd index. For the variables appearing in Pand L, the
substitutions θ1and θ2are obtained applying a sort of uniﬁcation algorithm, as
described in [9]. A ﬁnal condition that the substitutions θ1and θ2need to satisfy
is that any variable must appear at most once in each one of their codomains
(linearity condition) and at least once in the union of the codomains.
In more detail, considering a commuting redex square α:C◦P⇒D◦L,
with L≡r.P +Mr.Q +N→PQthe left hand side of the communication
rule, we have that the context Ccan be written as νm(C0◦σ1[ ]θ1), with C0
not containing the νoperator and having name substitutions only applied to
variables, while the reaction context Dcan be written as νn(σ[ ]θ2P2).
If the redex Lis contained (or better mapped by α−1) in the process P,
the GRPO has form α0:σ1[ ] ◦P⇒(νmσ2[ ]θ2P2)◦L. Notice that the name
substitution σ1, if diﬀerent from a bijection, cannot be factorized by the GRPO
construction.
20
If the process Pcontains only one side of the redex L, the other side of the
redex can be obtained by variable substitution and in this case the GRPO has
form α0: (σ1[ ]{rX+Y/Z}◦δ)◦P⇒(νmσ2[ ]θ2P2)◦L, or the other side of the redex
can be generated by the context with a GRPO having form α0: (σ1[ ]P0)◦P⇒
(νmσ2[ ]θ2Pi1. . . Pik)◦L.
If the redex Lis contained in the context C, the GRPO has form α0:C00 ◦
σ1[ ] ◦P⇒(νm[ ]θ2P2)◦L, with ϕP contained in P0.
If the process Pis contained in the redex L(instantiated with θ2) the GRPO
has the form α0:C00 ◦σ1[ ] ◦P⇒([ ]θ2)◦L.
Table 1 of Section 2 summarizes the GIPO contexts for every possible process.
An analysis of the various cases appear in Section 2. ut
Proposition 6.
(i) The GIPO LTS of Table 1 is deﬁnable from the set Rof reduced GIPO
contexts.
(ii) The bisimilarity ∼Rinduced by the LTS deﬁned by the reduced GIPO contexts
coincides with the original GIPO bisimilarity ∼G, and it is a congruence.
Proof. (i) All transitions corresponding to GIPO contexts in raws 3 and 13 of
Table 1 can be easily shown to be deﬁnable by suitable triples with ∗as second
element. Transitions corresponding to GIPO contexts in raw 1 of Table 1 are
deﬁnable by triples of the shape hβ[ ]δ,[ ]δ, β[ ]id i. Transitions corresponding to
GIPO contexts in raw 2 of Table 1 are deﬁnable by triples hβ[ ]{(τ.X1+Y1)/δ Z}◦δ,
[ ]{(τ.X1+Y1)/δZ }◦δ, β[ ]i. Transitions corresponding to GIPO contexts in raws
4–9’ of Table 1 can be easily shown to be deﬁnable by the corresponding reduced
GIPO contexts, obtained by taking βto be the identity. Transitions correspond
ing to GIPO contexts in raws 10,10’ of Table 1 are deﬁnable by τtransitions
induced by the reduced GIPO contexts in raw 2, when r=r0; the deﬁning tuple,
e.g. for raw 10, being hβ[ ]{((r().X1+Y1)(rrl.X3+Y3))/δX }◦δ,[ ]{(τ.X1+Y1)/δX }◦δ,
β[ ]{((νt0,l+1 X1)X3)/X1}i. Transitions corresponding to GIPO contexts in raw 10’,
when r6=r0, are deﬁnable by transitions corresponding to raw 10, via the tuple
hβ[ ]{((r().X1+Y1)ν(r0r0.X3+Y3))/δX}◦δ, β[ ]{((r().X1+Y1)(r0rl.X3+Y3))/δX }◦δ,
β[ ]{0/X1, ν(ν{r1/r0}(δ0)+1 X1X3)/X3}i. Finally, transitions induced by GIPO con
texts in raws 1112 can be easily shown to be deﬁnable by the corresponding
reduced GIPO contexts.
(ii) The proof follows from Proposition 5, by showing that transitions induced
by the reduced GIPO contexts are closed under bisimilarity, according to Deﬁ
nition 15. ut
Lemma 2. Let ∼Fdenote the bisimilarity induced by the ﬁnal GIPO contexts
(column F of Table 1) and let Rbe the relation formed by the pairs of processes
in the form hνk(σP σ1X1. . . σnXn), ν k(σQ σ1X1. . . σnXn)i, and
such that there exist a integer land two name substitutions σ0, σ0satisfying the
following list of conditions.
(i) νl(σ0Pσ0X0)∼Fνl(σ0Qσ0X0)
(ii) ∀r, i . σ(r)∈cod(σi)⇒σ0(r)∈cod(σ0);
21
(iii) ∀r . σ(r)≥k⇒σ0(r)∈cod(σ0);
(iv) ∀r . σ0(r)< l ⇒σ(r)< k;
(v) ∀r, s . (σ0(r)< k ∧σ0(s)< k)⇒(σ0(r) = σ0(s)⇔σ(r) = σ(s))
(vi) For any pair of instances of name references r, s appearing in P(in Q)
[[σ0P, r]] = [[σ0P, s]] ⇒[[σP , r]] = [[σP, s]] ([[σ0Q, r]] = [[σ0Q, s]] ⇒[[σQ, r]] =
[[σQ, s]]).
The relation R∪ ∼Fis a bisimulation w.r.t. the reduced GIPO LTS.
Proof. We show that the relation R∪ ∼Fis a bisimulation w.r.t. the reduced
GIPO LTS, using the following schema: given a generic pair of terms hνk(σP 
σ1X1. . . σnXn), νk(σQ σ1X1. . . σnXn)i ∈ R, and given an integer
land substitutions σ0, σ0for which conditions (i). . . (vi) are satisﬁed, for any
transition νk(σP σ1X1. . . σnXn)l
−→IP∗in the reduced LTS, it is possible
to show that there exists a second transition νl(σ0Pσ0X0)l0
−→IP0∗, in the
ﬁnal LTS, mimicking the ﬁrst one. By similarity, there exists Q0∗ such that
νl(σ0Qσ0X0)l0
−→IQ0∗ and, using conditions (ii), . . . , (vi), it is possible to
show that there exists Q∗such that νk(σQ σ1X1. . . σnXn)l
−→IQ∗and
(P∗, Q∗)∈R. Moreover, to complete the proof, we show if P∼FQ, for any
transition Pl
−→IP∗in the reduced LTS, then there exists a second transition
Pl0
−→IP0∗ in the ﬁnal LTS, mimicking the ﬁrst one. By similarity, there exists
Q0∗ such that Ql0
−→IQ0∗ and from this fact it follows that there exists Q∗such
that Ql
−→IQ∗and (P∗, Q∗)∈R
Since there are many diﬀerent kinds of transitions to consider, the proof is
lengthy. For shortness, here we present just two meaningful cases, the others
follows a similar schema.
Before giving in the details of the proof, we present the following consequences
of conditions (ii), (iv) and (v), which motivate their deﬁnition.
(ii) for any instance of name reference rappearing in Pand for any substitution
of the variable Xiwith s().Xi, if rand sdenote the same name in νk(σP 
σ1X1. . . σi(s().Xi). . . σnXn),then there exists an instantiation
s0().X0for the variable X0such that rand s0denotes the same name in
νl(σ0Pσ0(s0().X0));
(iv) for any instance of name reference rappearing in P, if rdenotes a private
name in νl(σ0Pσ0X0), then it denotes a private name in νk(σP σ1X1
. . . σnXn);
(v) for any pair of instances of name reference r, s appearing in P, if r, s denote
private names in νk(σP σ1X1. . . σnXn), then they denote the same
name in νk(σP σ1X1. . . σnXn) if and only if they denote the same
name in νl(σ0Pσ0X0).
First case (transition 11):
Suppose that P≡r()P1+P2P3and suppose that νk(σP σ1X1. . . 
σnXn)≡νk(σ(r)().σ+1P1+σP2σP3σ1X1. . . σnXn) makes a transition
22
with label ι[ ]{r0s.Xj/Xj}becoming νk(ν{δ0ι+kσj(s)/r0}ι+(k+1) σ+1P1ι+kσP3
ι+kσ1X1. . . ι(kσmXm)≡νk+1 ({δ0ι+kσj(s)/r0}ι+(k+1)σ+1 P1δ0ι+kσP3
δ0ι+kσ1X1. . . δ0ι(kσmXm)≡νk+1 ({δ0ι+kσj(s)/r0}ι+(k+1)σ+1 P1
{δ0ι+kσj(s)/r0}δ0ι+kσP3δ0ι+kσ1X1. . . δ0ι+kσmXm)≡
νk+1({δ0ι+kσj(s)/r0}ι+(k+1) σ+1(P1δ0P3)δ0ι+kσ1X1. . . δ0ι+kσmXm).
This transition is mimicked by νl(σ0Pσ0X0) with a transition having la
bel [ ]{r00 s0.X0/X0}, and transforming it in νl+1({δ0σ0(s0)/r0}σ0
+1(P1δ0P3)
δ0σ0X0). The name references r00,s0appearing in the label, are deﬁned by cases:
–The name reference r00 is chosen in such a way that σ0(r) = σ0(r00). The
argument proving the existence of r00 is the following, if rdenotes a private
name in νl(σ0Pσ0X0) then, by condition (iv), it denotes a private name
also in νk(σP σ1X1. . . σnXn), it follows that ιhas to be the identity
and by condition (ii) r00 exists. On the other hand, it rdenotes a free name
in νl(σ0Pσ0X0), then r00 exists by condition (iii)
–If there exists s00 such that σj(s) = σ(s00), s0is chosen in such a way that
σ0(s0) = σ0(s00), by condition (ii), such sexists;
–otherwise s0is chosen to denote a free name, not denoted by any other name
reference present in Pand Q, or by the r00 previously deﬁned.
By condition (i), νl(σ0Qσ0X0) can make a transition with label [ ]{r00s0.X0/X0},
by simple arguments, it follows that Qcan be written in the form
(r()Q1+Q2)Q3, and the result of the transition can be written in the form
νl+1({δ0σ0(s0)/r0}σ0
+1(Q1δ0Q3)δ0σ0X0). It is not diﬃcult to show that
(νk+1({δ0ι+kσj(s)/r0}ι+(k+1) σ+1(P1δ0P3)δ0ι+kσ1X1. . . δ0ι+kσmXm),
νk+1({δ0ι+kσj(s)/r0}ι+(k+1) σ+1(Q1δ0Q3)δ0ι+kσ1X1. . . δ0ι+kσmXm)∈
R, from which the thesis. ut
Proof of Proposition 4.
Given two closed processes Pand Q, since ∼Fis a congruence, it follows that
P∼FQ⇔PX∼FQX.
Let consider the relation R0whose deﬁnition coincides with the relation R,
presented in the proof of the previous lemma, except for point (i) that becomes
(i’) P, Q are closed processes,
(i”) νl(σ0Pσ0X0)∼Cνl(σ0Qσ0X0)
By a subset of the arguments used in the previous lemma, it is possible to
prove that relation R0∪ ∼Fis a Fbisimulation, and therefore it is contained in
∼F. Immediately, PX∼CQX⇒ hPX, Q Xi∈R0⇒PX∼FQ
X.
The inverse implication follows from the fact that the LTS for closed processes
is a subset of ﬁnal LTS. ut
Proof of Theorem 2.(Sketch)
The proof follows from the fact that, for any process νaP, with P νfree, there is
a correspondence between derivations in our LTS and derivations in the symbolic
LTS, when in this latter we keep track of distinctions (and we do not permit
23
fusions of names in the distinctions). That is, for L0the empty list and D0
the empty distinction, we have: (νaP, L0)α0
1
−→ (νaP0
1, L1). . . α0
n
−→ (νaP0
n, Ln) iﬀ
(νaP, D0)α1
−→ (νa0
1P1, D1). . . αn
−→ (νa0
nPn, Dn), where for all i,a0
iis a subset
of a, at each step the correspondent transitions in the two terms are performed,
and P0
i=Piσi, for σithe composition of the singleton substitutions arising from
input actions and fusions. ut
24