Sunteți pe pagina 1din 72

An Introdu

tion to the  -Cal ulus


Chapter to appear in Handbook of Pro ess Algebra , ed. Bergstra, Ponse and Smolka,

Elsevier


Joa him Parrow

Dep. Teleinformati s,

Royal Institute of Te hnology, Sto kholm

Abstra t
The - al ulus is a pro ess algebra where pro esses intera t by sending
ommuni ation links to ea h other. This paper is an overview of and intro-

du tion to its basi theory. We explore the syntax, semanti s, equivalen es

and axiomatisations of the most ommon variants.

 email joa himit.kth.se

1
Contents

1 Introdu tion 3
2 The  -Cal ulus 6
2.1 Basi De nitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Stru tural Congruen e . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Simple Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Variants of the Cal ulus 15
3.1 Mat h and Mismat h . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 The Polyadi Cal ulus . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4 Re ursion and Repli ation . . . . . . . . . . . . . . . . . . . . . . 20
3.5 The Asyn hronous Cal ulus . . . . . . . . . . . . . . . . . . . . . 21
3.6 The Higher-Order Cal ulus . . . . . . . . . . . . . . . . . . . . . . 23
4 Operational Semanti s 25
5 Variants of the Semanti s 28
5.1 The Role of Stru tural Congruen e . . . . . . . . . . . . . . . . . 28
5.2 Symboli Transitions . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3 The Early Semanti s . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4 Redu tions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.5 Abstra tions and Con retions . . . . . . . . . . . . . . . . . . . . 36
6 Bisimilarity and Congruen e 39
6.1 Bisimilarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2 Congruen e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7 Variants of Bisimilarity 43
7.1 Early Bisimulation . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.2 Barbed Congruen e . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.3 Open Bisimulation . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.4 Weak Bisimulation . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8 Algebrai Theory 54
8.1 Bisimilarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.2 Congruen e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
9 Variants of the Theory 60
9.1 Early Bisimilarity and Congruen e . . . . . . . . . . . . . . . . . 60
9.2 Open Bisimilarity . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.3 Weak Congruen e . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10 Sour es 64
2
1 Introdu tion

The - al ulus is a mathemati al model of pro esses whose inter onne tions
hange as they intera t. The basi omputational step is the transfer of a om-
muni ation link between two pro esses; the re ipient an then use the link for
further intera tion with other parties. This makes the al ulus suitable for mod-
elling systems where the a essible resour es vary over time. It also provides
a signi ant expressive power sin e the notions of a ess and resour e underlie
mu h of the theory of on urrent omputation, in the same way as the more
abstra t and mathemati ally tra table on ept of a fun tion underlies fun tional
omputation. This introdu tion to the - al ulus is intended for a theoreti ally
in lined reader who knows a little about the general prin iples of pro ess algebra
and who wishes to learn the fundamentals of the al ulus and its most ommon
and stable variants.
Let us rst onsider an example. Suppose a server ontrols a ess to a printer
and that a lient wishes to use it. In the original state only the server itself has
a ess to the printer, represented by a ommuni ation link a. After an intera -
tion with the lient along some other link b this a ess to the printer has been
transferred:
Before intera tion: After intera tion:

Server Client Server Client


b
a

Printer Printer

In the - al ulus this is expressed as follows: the server that sends a along b
is ba : S ; the lient that re eives some link along b and then uses it to send data
along it is b( ) : d : P . The intera tion depi ted above is formulated
ba : S j b( ) : d : P ! S j ad : P


We see here that a plays two di erent roles. In the intera tion between the server
and the lient it is an obje t transferred from one to the other. In a further
intera tion between the lient and the printer it is the name of the ommuni ation
3
link. The idea that the names of the links belong to the same ategory as the
transferred obje ts is one of the ornerstones of the al ulus, and is one way in
whi h it is di erent from other pro ess algebras. In the example a; b; ; d are
all just names whi h intuitively represent a ess rights: a a esses the printer, b
a esses the server, d a esses some data, and is a pla eholder for an a ess to
arrive along a. If a is the only way to a ess the printer then we an say that the
printer \moves" to the lient, sin e after the intera tion nothing else an a ess
it. For this reason the - al ulus has been alled a al ulus of \mobile" pro esses.
But the al ulus is mu h more general than that. The printer may have many
links that make it do di erent things, and the server an send these links to
di erent lients to establish di erent a ess apabilities to a shared resour e.
At rst sight it appears as if the - al ulus is just a spe ialised form of a
value-passing pro ess algebra where the values are links. In su h a omparison
the al ulus may be thought rather poor sin e there are no data types and no
fun tions de ned on the names; the transferable entities are simple atomi things
without any internal stru ture. The reason that the - al ulus nevertheless is
onsidered more expressive is that it admits migrating lo al s opes. This impor-
tant point deserves an explanation here.
Most pro ess algebras have a way to de lare a ommuni ation link lo al to a
set of pro esses. For example in CCS the fa t that P and Q share a private port
a is symbolised by (P jQ)na, where the operator na is alled restri tion on a. The
signi an e is that no other pro ess an use the lo al link a, as if it were a name
distin t from all other names in all pro esses.
In the - al ulus this restri tion is written ( a)(P jQ). It is similar in that
no other pro ess an use a immediately as a link to P or Q. The di eren e is
that the name a is also a transferable obje t and as su h an be sent, by P or
Q, to another pro ess whi h then an use the restri ted link. Returning to the
example above suppose that a is a lo al link between the server and the printer.
Represent the printer by R, then this is aptured by ( a)(ba : S j R). The server
is still free to send a along b to the lient. The result would be a private link
shared between all three pro esses, but still distin t from any other name in any
other pro ess, and the transition is onsequently written
( a)(ba : S j R) j b( ) : d : P ! ( a)(S j R j ad : P )
So, although the transferable obje ts are simple atomi things they an also be
de lared lo al with a de ned s ope, and in this way the al ulus trans ends the
ordinary value-passing pro ess algebras. This is also the main sour e of diÆ ulty
in the development of the theory be ause the s ope of an obje t, as represented
by the operands of its restri tion, must migrate with the obje t as it is transferred
between pro esses.
The - al ulus is far from a single well de ned body of work. The entral idea,
a pro ess algebrai de nition of link-passing, has been developed in several dire -
tions to a ommodate spe i appli ations or to determine the e e ts of various
4
semanti s. Proliferation is ertainly a healthy sign for any s ienti area although
it poses problems for those who wish to get a qui k overview. Presumably some
readers new to the - al ulus will be satis ed with a ompa t presentation of a
single version, while other may be interested in the spe trum of variations.
This paper aims to serve both these needs. In the following, the even-
numbered se tions develop a single strand of the al ulus. Se tion 2 presents
the syntax and give some small examples of how it is used. In Se tion 4 we
pro eed to the semanti s in its most ommon form as a labelled transition sys-
tem. In Se tion 6 we onsider one of the main de nitions of bisimulation and the
ongruen e it indu es, and in Se tion 8 we look at their axiomatisations through
synta ti equalities of agents. These se tions do not depend on the odd-numbered
se tions and an be onsidered as a basi ourse of the al ulus. There will be
full de nitions and formulations of the entral results, and sket hes that explain
the ideas and stru ture of the proofs.
Ea h odd-numbered se tion presents variations on the material in the pre ed-
ing one. Thus, in Se tion 3 we explore di erent versions of the al ulus, su h as
the e e t of varying the operators, and the asyn hronous, polyadi , and higher-
order al ulus. Se tion 5 treats alternative ways to de ne the semanti s, with
di erent versions of labelled and unlabelled transitions. Se tion 7 de nes a few
other ommon bisimulation equivalen es (the - al ulus, like any pro ess alge-
bra, boasts a wide variety of equivalen es but in this paper we on entrate on the
aspe ts parti ular to ), and their axiomatisations are treated in Se tion 9. In
these se tions we do not always get a full formal a ount, but hopefully enough
explanations that the reader will gain an understanding of the basi ideas. Fi-
nally, Se tion 10 ontains referen es to other work. We give a brief a ount of
how the al ulus evolved and mention other overviews and introdu tory papers.
We also indi ate sour es for the material treated in this paper.
It must be emphasised that there are some aspe ts of the - al ulus we do
not treat at all, su h as modal logi s, analysis algorithms, implementations, and
ways to use the al ulus to model on urrent systems and languages. Also, the
di erent variants an be ombined in many ways, giving rise to a large variety
of al uli. I hope that after this introdu tion a reader an explore the eld with
some on den e.

5
2 The  -Cal ulus
We begin with a sequen e of de nitions and onventions. The reader who makes
it to Se tion 2.3 will be rewarded with small but informative examples.
2.1 Basi De nitions
We assume a potentially in nite set of names N , ranged over by a; b; : : : ; z, whi h
will fun tion as all of ommuni ation ports, variables and data values, and a set
of (agent) identi ers ranged over by A, ea h with a xed nonnegative arity. The
agents, ranged over by P; Q; : : : are de ned Table 1. From that table we see that
the agents an be of the following forms:
1. The empty agent 0, whi h annot perform any a tions.
2. An Output Pre x ax : P . The intuition is that the name x is sent along the
name a and thereafter the agent ontinues as P . So a an be thought of as
an output port and x as a datum sent out from that port.
3. An Input Pre x a(x) : P , meaning that a name is re eived along a name a,
and x is a pla eholder for the re eived name. After the input the agent will
ontinue as P but with the newly re eived name repla ing x. So a an be
thought of as an input port and x as a variable whi h will get its value from
the input along a.
4. A Silent Pre x  : P , whi h represents an agent that an evolve to P without
intera tion with the environment. We use , to range over a(x), ax and 
and all them Pre xes, and we say that : P is a Pre x form, or sometimes
just Pre x when this annot ause onfusion.
5. A Sum P + Q representing an agent that an ena t either P or Q.
6. A Parallel Composition P j Q, whi h represents the ombined behaviour of
P and Q exe uting in parallel. The omponents P and Q an a t indepen-
dently, and may also ommuni ate if one performs an output and the other
an input along the same port.
7. A Mat h if x = y then P . As expe ted this agent will behave as P if x
and y are the same name, otherwise it does nothing.
8. A Mismat h if x 6= y then P . This agent will behave as P if x and y are
not the same name, otherwise it does nothing.
9. A Restri tion ( x)P . This agent behaves as P but the name x is lo al,
meaning it annot immediately be used as a port for ommuni ation be-
tween P and its environment. However, it an be used for ommuni ation
between omponents within P .
6
Pre xes ::= ax Output
a(x) Input
 Silent
Agents P ::= 0 Nil
:P Pre x
P +P Sum
P jP Parallel
if x = y then P Mat h
if x 6= y then P Mismat h
( x)P Restri tion
A(y1 ; : : : ; yn ) Identi er
De nitions A(x1 ; : : : ; xn ) def
=P (where i 6= j ) xi 6= xj )
Table 1: The syntax of the - al ulus.
10. An Identi er A(y ; : : : ; yn) where n is the arity of A. Every Identi er has a
1

De nition A(x ; : : : ; xn ) = P where the xi must be pairwise distin t, and


1
def

the intuition is that A(y ; : : : ; yn) behaves as P with yi repla ing xi for ea h
1
i. So a De nition an be thought of as a pro ess de laration, x ; : : : ; xn as
1
formal parameters, and the Identi er A(y ; : : : ; yn) as an invo ation with
1
a tual parameters y ; : : : ; yn.
1

The operators are familiar from other pro ess algebras so we shall in the
following on entrate on some important aspe ts parti ular to the - al ulus,
trusting the reader to be on dent with the more general prin iples.
The forms Nil, Sum and Parallel have exa tly the same meaning and use as
in other pro ess algebras, and the Pre x forms are as in the algebras that admit
value-passing. The if onstru ts Mat h and Mismat h may appear limited in
omparison with value-passing algebras whi h usually admit arbitrary Boolean
expressions (evaluating to either true or false). But on loser onsideration it is
apparent that ombinations of Mat h and Mismat h are the only possible tests
that an be performed in the - al ulus: the obje ts transmitted are just names
and these have no stru ture and no operators are de ned on them, so the only
thing we an do is ompare names for equality. We an ombine su h tests
onjun tively by nesting them, for example
if x = y then if u 6= v then P

7
behaves as P if both x = y and u 6= v hold. We an ombine them disjun tively
by using Sum, for example
if x = y then P + if u 6= v then P

behaves as P if at least one of x = y and u 6= v hold. Sometimes we shall use a


binary onditional
if x = y then P else Q
as an abbreviation for if x = y then P + if x 6= y then Q.
As in other algebras we say that P is guarded in Q if P is a proper subterm
of a Pre x form in Q. Also, the input Pre x a(x) : P is said to bind x in P , and
o urren es of x in P are then alled bound. In ontrast the output Pre x ax : P
does not bind x. These Pre xes are said to have subje t a and obje t x, where
the obje t is alled free in the output Pre x and bound in the input Pre x. The
silent Pre x  has neither subje t nor obje t.
The Restri tion operator ( x)P also binds x in P . Its e e t is as in other
algebras (where it is written nx in CCS and Æx in ACP) with one signi ant
di eren e. In ordinary pro ess algebras the things that are restri ted are port
names and these annot be transmitted between agents. Therefore the restri tion
is stati in the sense that the s ope of a restri ted name does not need to hange
when an agent exe utes. In the - al ulus there is no di eren e between \port
names" and \values", and a name that represents a port an indeed be trans-
mitted between agents. If that name is restri ted the s ope of the restri tion
must hange, as we shall see, and indeed almost all of the in reased omplexity
and expressiveness of the - al ulus over value-passing algebras ome from the
fa t that restri ted things move around. The reader may also think of ( x)P as
\new x in P ", by analogy with the obje t-oriented use of the word \new", sin e
this onstru t an be thought of as de laring a new and hitherto unused name,
represented by x for the bene t of P .
In summary, both input Pre x and Restri tion bind names, and we an de ne
the bound names bn(P ) as those with a bound o urren e in P and the free
names fn(P ) as those with a not bound o urren e, and similarly bn( ) and
fn( ) for a Pre x . We sometimes write fn(P; Q) to mean fn(P ) [ fn(Q),
and just for fn( ) [ bn( ) when it is apparent that it represents a set of
names, su h as in \x 2 ". In a De nition A(x ; : : : ; xn) = P we assume
1
def

that fn(P )  fx ; : : : ; xn g. In some examples we shall elide the parameters of


1
Identi ers and De nitions when they are unimportant or an be inferred from
ontext.
A substitution is a fun tion from names to names. We write fx=yg for the
substitution that maps y to x and is identity for all other names, and in general
fx : : : xn =y : : : yng, where the yi are pairwise distin t, for a fun tion that maps
1 1
ea h yi to xi. We use  to range over substitutions, and sometimes write x~ for
a sequen e of names when the length is unimportant or an be inferred from
8
ontext. The agent P  is P where all free names x are repla ed by (x), with
alpha- onversion wherever needed to avoid aptures. This means that bound
names are renamed su h that whenever x is repla ed by (x) then the so obtained
o urren e of (x) is free. For example,
(a(x) : ( b)xb : y : 0)fxb=y g is a(z) : ( d)zd : bx : 0
A pro ess algebra fan may have noti ed that one ommon operator is not
present in the - al ulus: that of relabelling (in CCS written [a=b℄). The primary
use of relabelling is to de ne instan es of agents from other agents, for example,
if B is a bu er with ports i and o then B [i0 =i; o0=o℄ is a bu er with ports i0 and
o0 . In the  - al ulus we will instead de ne instan es through the parameters of
the Identi ers, so for example a bu er with ports i and o is B (i; o), and with
ports i0 and o0 it is B (i0; o0). For inje tive relabellings this is just another style of
spe i ation whi h allows us to e onomise on one operator. (A reader familiar
with the CCS relabelling should be warned that it has the same e e t as port
substitution only if inje tive. In general they are di erent.)
FinallyPsome notationalP onventions: A sum of several agents P +    + Pn
1
is written i Pi, or just j Pj when n is unimportant or obvious, and we here
n
allow the ase n = 0 when the sum means 0. A sequen e of distin t Restri tions
=1

( x )    ( xn)P is often abbreviated to ( x    xn )P . In a Pre x we sometimes


1 1
elide the obje t if it is not important, so a : P means a(x) : P where x is a name
that is never used, and similarly for output. And we sometimes elide a trailing
0, writing for the agent : 0, where this annot ause onfusion. We give
the unary operators pre eden e over the binary and j pre eden e over +, so for
example ( x)P j Q + R means ((( x)P ) j Q) + R.
2.2 Stru tural Congruen e
The syntax of agents is in one sense too on rete. For example, the agents a(x) : bx
and a(y) : by are synta ti ally di erent, although they only di er in the hoi e of
bound name and therefore intuitively represent the same behaviour: an agent
that inputs something along a and then sends that along b. As another example
the agents P jQ and QjP represent the same thing: a parallel omposition of the
agents P and Q. Our intuition about parallel omposition is that it is inherently
unordered, and we are for ed to synta ti ally distinguish between P jQ and QjP
only be ause our language is linear.
We therefore introdu e a stru tural ongruen e to identify the agents whi h in-
tuitively represent the same thing. It should be emphasised that this has nothing
to do with the traditional behavioural equivalen es in pro ess algebra whi h are
de ned in terms of the behaviour exhibited by an agent under some operational
semanti s. We have yet to de ne a semanti s, and the stru tural ongruen e
identi es only agents where it is immediately obvious from their stru ture that
they are the same.
9
The stru tural ongruen e  is de ned as the smallest ongruen e satisfying the
following laws:
1. If P and Q are variants of alpha- onversion then P  Q.
2. The Abelian monoid laws for Parallel: ommutativity P jQ  QjP , asso ia-
tivity (P jQ)jR  P j(QjR), and 0 as unit P j0  P ; and the same laws for
Sum.
3. The unfolding law A(~y)  P fy~=x~g if A(~x) = P .
def

4. The s ope extension laws


( x)0  0
( x)(P j Q)  P j ( x)Q if x 62 fn(P )
( x)(P + Q)  P + ( x)Q if x 62 fn(P )
( x)if u = v then P  if u = v then ( x)P if x 6= u and x 6= v
( x)if u 6= v then P  if u 6= v then ( x)P if x 6= u and x 6= v
( x)( y)P  ( y)( x)P

Table 2: The de nition of stru tural ongruen e.


The reader will here orre tly obje t that \represent the same thing" and
\immediately obvious" are not formally de ned on epts, and indeed several
di erent versions of the stru tural ongruen e an be found in the literature;
there is no anoni al de nition and ea h has di erent merits. In Se tion 5.1 we
will meet some of them and explore their onsequen es. Until then we adopt a
parti ular stru tural ongruen e. The de nition is given in Table 2. We brie y
omment on the lauses in the de nition.
1. Alpha- onversion, i.e., hoi e of bound names, identi es agents like a(x) : bx
and a(y) : by.
2. The Abelian monoid laws mean that Parallel and Sum are unordered. For
example, when we think of a omposition of three agents P ,Q,R it does
not matter if we write it as (P jQ)jR or (RjQ)jP . The same holds for Sum.
The fa t that 0 is a unit means that P j0  P and P + 0  P , something
whi h follows from the intuition that 0 is empty and therefore ontributes
nothing to a Parallel omposition or Sum.
3. The unfolding just says that an Identi er is the same as its De nition, with
the appropriate parameter instantiation.
4. The s ope extension laws ome from our intuition that ( x)P just says that
x is a new unique name in P ; it an be thought of as marking the o urren es

10
of x in P with a spe ial olour saying that this is a lo al name. It then
does not really matter where the symbols \( x)" are pla ed as long as they
mark the same o urren es. For example, in 0 there are no o urren es
so the Restri tion an be removed at will. In Parallel omposition, if all
o urren es are in one of the omponents then it does not matter if the
Restri tion overs only that omponent or the whole omposition.
Note that we do not have that ( x)(P j Q)  ( x)P j ( x)Q. The same
o urren es are restri ted in both agents, but in ( x)(P j Q) they are restri ted
by the same binder (or if you will, oloured by the same olour), meaning that
P and Q an intera t using x, in ontrast to the situation in ( x)P j ( x)Q.
Through a ombination of these laws we get that ( x)P  P if x 62 fn(P ):
P  P j 0  P j ( x)0  ( x)(P j 0)  ( x)P
So as a spe ial ase we get ( x)( x)P  ( x)P for all P .
Another key fa t is that all unguarded Restri tions an be pulled out to the
top level of an agent:
Proposition 1 Let P be an agent where ( x)Q is an unguarded subterm. Then
P is stru turally ongruent to an agent ( x0 )P 0 where P 0 is obtained from P by
repla ing ( x)Q with Qfx0 =xg, for some name x0 not o urring in P .
The proof is by alpha- onverting all bound names so that they be ome synta ti-
ally distin t, and then applying s ope extension (from right to left) to move the
Restri tion to the outermost level. This orresponds to the intuition that instead
of de laring something as lo al it an be given a synta ti ally distin t name: the
e e t is the same in that nothing else an a ess the name.
Our s ope extension laws are in fa t hosen pre isely su h that Proposition 1
holds. For example, we have not given any s ope extension law for Pre xes
and an therefore only pull out unguarded Restri tions. The reader may have
expe ted a law like ( x) : P  : ( x)P for x 62 . Indeed su h a law would be
sound, in the sense that it onforms to intuition and does not disrupt any of the
results in this paper, and it will hold for the behavioural equivalen es explored
later in se tions 6 and 7. But it will not be ne essary at this point, in parti ular
it is not ne essary to prove Proposition 1.
Stru tural ongruen e is mu h stronger, i.e., identi es fewer agents, than any
of the behavioural equivalen es. The stru tural ongruen e is used in the de ni-
tion of the operational semanti s, whi h in turn is used to de ne the behavioural
equivalen es. The main te hni al reasons for taking this route are that many of
the following de nitions and explanations be ome simpler and that we get a uni-
form treatment for those variants of the al ulus that a tually require a stru tural
ongruen e. In Se tion 5.1 we omment on the possibility to de ne the al ulus
without a stru tural ongruen e.
11
2.3 Simple Examples
Although we shall not present the operational semanti s just yet (a reader who
wishes to look at it now will nd it in Se tion 4) it might be illuminating to see
some examples of the s ope migration mentioned in Se tion 1, that Restri tions
move with their obje ts. Formally, s ope migration is a onsequen e of three
straightforward postulates. The rst is the usual law for inferring intera tions
between parallel omponents. This is present in most pro ess algebras and implies
that
a(x) : x j ab ! b j 0
or in general
a(x) : P j ab : Q ! 
P fb=xg j Q
The se ond postulate is that Restri tions do not a e t silent transitions. P ! Q
represents an intera tion between the omponents of P , and a Restri tion ( x)P
only restri ts intera tions between P and its environment. Therefore P ! Q
implies ( x)P ! ( x)Q. The third postulate is that stru turally ongruent
agents should never be distinguished and thus any semanti s must assign them the
same behaviour. Now what are the impli ations for restri ted obje ts? Suppose
that b is a restri ted name, i.e., that we are onsidering a omposition
a(x) : x j ( b)ab
Will there be an intera tion between the omponents and if so what should it
be? Stru tural ongruen e gives the answer, be ause b is not free in the left hand
omponent so the agent is by s ope extension stru turally ongruent to
( b)(a(x) : x j ab)
and this agent has a transition between the omponents: be ause of
a(x) : x j ab ! b j 0
we get that
( b)(a(x) : x j ab) ! ( b)( b j 0)
and the rightmost 0 an be omitted by the monoid laws. So by identifying
stru turally ongruent agents we obtain that
a(x) : x j ( b)ab ! ( b) b
or in general that, provided b 62 fn(P ),
a(x) : P j ( b)ab : Q ! ( b)(P fb=xg j Q)
In other words, the s ope of ( b) \moves" with b from the right hand omponent
to the left. This phenomenon is sometimes alled s ope extrusion. If b 2 fn(P ) a
12
similar intera tion is possible by rst alpha- onverting the bound b to some name
b0 62 fn(P ), and we would get
a(x) : P j ( b)ab : Q ! ( b0 )(P fb0=xg j Qfb0 =bg)
So P fb0=xg still ontains b free and it is not the same as the re eived restri ted
name b0 .
For another example onsider:
(( b)a(x) : P ) j ab : Q
Here the right hand omponent has a free b whi h should not be the same as the
bound b to the left. Is there an intera tion between the omponents? We annot
immediately extend the s ope to the right hand omponent sin e it has b free.
But we an rst alpha- onvert the bound b to some new name b0 and then extend
the s ope to obtain
( b0 )(a(x) : P fb0=bg j ab : Q)
and it is lear that we have a transition
( b0)(a(x) : P fb0=bg j ab : Q) ! ( b0 )P fb0=bgfb=xg j Q
So the restri ted name, now b0 , will still be lo al to the left hand omponent; the
attempt to intrude the s ope is thwarted by an alpha- onversion. In summary,
through alpha- onversion and s ope extension we an send restri ted names as
obje ts, and Restri tions will always move with the obje ts and never in lude
free o urren es of that name.
This ability to send s opes along with restri ted names is what makes the
al ulus onvenient for modelling ex hange of private resour es. For example,
suppose we have an agent R representing a resour e, say a printer, and that it
is ontrolled by a server S whi h distributes a ess rights to R. In the simplest
ase the a ess right is just to exe ute R. This an be modelled by introdu ing
a new name e as a trigger, and guarding R by that name, as in
( e)(S j e : R)
Here R annot exe ute until it re eives a signal on e. The server an invoke it by
performing an a tion e, but moreover, the server an send e to a lient wishing
to use R. For example, suppose that a lient Q needs the printer. It asks S along
some predetermined hannel for the a ess key, here e, to R, and only upon
re eipt of this key an R be exe uted. We have
(x) : x : Q j ( e)( e : S j e : R) ! ( e)(e : Q j S j e : R) ! ( e)(Q j S j R)
The rst transition means that Q re eives an a ess to R and the se ond that this
a ess is used. We an informally think of this as if the agent R is transmitted
13
(represented by its key e) from S to Q, so in a sense this gives us the power of
a higher-order ommuni ation where the obje ts are agents and not only names.
But our al ulus is more general sin e a server an send e to many lients, meaning
that these will share R (rather than re eiving separate opies of R). And R
an have several keys that make it do di erent things, for example R an be
e : R j e : R   , and the server an send only some of the keys to lients
1 1 2 2
and retain some for itself, or send di erent keys to di erent lients representing
di erent a ess privileges.
A related matter is if S wishes to send two names d and e to a lient, and insure
that the same lient re eives both names. If there are several lients then the
simple solution of transmitting d and e along predetermined hannels may mean
that one lient re eives d and another e. A better solution is to rst establish
a private hannel with a lient and then send d and e along that hannel. The
private hannel is simply a restri ted name:
( p) p : pd : pe : S
A lient intera ting with C must be prepared to re eive a name, and then along
that name re eive d and e:
(p) : p(x) : p(y ) : Q
Now, even if we have a omposition with several lients and a server, the only
possibility is that d and e end up with the same lient. This feature is so ommon
that we introdu e an abbreviation for it:
he    en i : P means ( p) p : pe :    : pen : P
1 1
(x    xn ) : Q means (p) : p(x ) :    : p(xn ) : Q
1 1

where we hoose p 62 fn(P; Q) and all xi are pairwise distin t. We will then have
he    en i : P j (x    xn ) : Q !    ! P j Qfe : : : en = x : : : xn g
1 1 1 1

The idea to establish private links in this way has many other uses. Suppose
for example that Q wishes to exe ute P by transmitting on its trigger e, and then
also wait until P has ompleted exe ution. One way to represent this is to send
to P a private name for signalling ompletion, as in
( r)er : r : Q j e(x) : P ! ( r)(r : Q j P fr=xg)
Here Q must wait until someone signals on r before ontinuing. This someone
an only be P sin e no other is in the s ope of r. This s heme is quite general,
for example P an delegate to another agent the task to restart Q, by sending r
to it as an obje t in an intera tion.
The - al ulus has been used to su in tly des ribe many aspe ts of on ur-
rent and fun tional programming, and also of high-level system des ription where
mobility plays an important role. We shall not attempt an overview of all appli-
ations here. In the rest of this paper we on entrate on some entral aspe ts of
the theory of the al ulus.
14
3 Variants of the Cal ulus

The al ulus an be varied in many ways. There are many useful sub al uli whi h
imply a somewhat simpler theory, and we shall also brie y onsider two popular
extensions: the polyadi and the higher-order al uli.
3.1 Mat h and Mismat h
The Mat h and Mismat h operators are absent in many presentations of the
al ulus. This means a ertain loss of expressiveness. But in a sense, equality
test of names an be implemented without Mat h. Consider the following typi al
use of a test: an agent P re eives a name and ontinues as Q if the name is y
and as R if the name is z:
P = a(x) : (if x = y then Q + if x = z then R)
Without the Mat h a similar e e t an be a hieved exploiting the Parallel
operator, where a ommuni ation is possible only if the subje ts of the input and
output a tions are the same:
P = a(x) : (x j (y : Q + z : R))
If the re eived name is y then, after re eption, a ommuni ation between
the rst and se ond parallel omponent is possible, after whi h Q an exe ute.
Similarly, if it is z then a ommuni ation between the rst and third omponent
enables R. This will work provided no other agent an interfere by intera ting
on the names y and z. So it is not a general en oding of Mat h, although
many spe i instan es an be emulated in this way. Consider for example an
implementation of Boolean values: There are agents T ruea and F alsea , emitting
Boolean values along a, and an agent Casea (Q; R), re eiving a Boolean along a
and ena ting Q or R depending on the value of the Boolean. A straightforward
en oding would use two spe ial names t and f :
True a = at
False a = af
Case a (Q; R) = a(x) : (if x = t then Q + if x = f then R)

So e.g. Case a (Q; R) j True a ! if t = t then Q + if t = f then R, and


this agent will behave as Q. The same e e t an be a hieved without Mat h, at
the expense of an extra ommuni ation. The idea is that Case emits two new
names and True and False respond by signalling on one of them:
True a = a(xy) : x
False a = a(xy) : y
Case a (Q; R) = ( xy )ahxy i : (x : Q + y : R)

15
where x and y do not o ur in Q or R. It will now hold that Case a(Q; R) j True a
evolves to
( xy)(x j (x : Q + y : R))
and the only possible ontinuation, in any environment, is a  to Q, sin e x and
y are lo al. In this way many instan es of the Mat h onstru t, in luding all that
aim to apture tests over ordinary data types, an be en oded.
The Mismat h if x 6= y then annot be implemented in a similar way.
Omitting Mismat h may be thought to drasti ally redu e the expressive power
but it turns out the e e t is not very severe. For example, if the possible values
of a ertain data type are u, v and w, the Mismat h if x 6= u then P an be
repla ed by if x = v then P + if x = w then P . In pra ti e, the data types
where equality test is admitted almost always have a predetermined nite range,
or an be modelled through a nite set of onstru tors. Mismat h also makes
some portions of the theory a little more ompli ated. For these reasons many of
the versions of the - al ulus do not use it. However, it appears to be ne essary
for many axiomatisations ( f. Se tions 8 and 9).
3.2 Sum
The Sum operator + is sometimes regarded as unrealisti from an implementation
perspe tive. The problem is that it represents a form of syn hronous global hoi e.
Consider:
(a : P + b : P ) j (a : Q + b : Q )
1 2 1 2

Clearly this agent an evolve to either P jQ (through a ommuni ation along


1 1
a) or to P jQ (along b). The hoi e of whi h path should be taken involves both
2 2
parallel omponents, and is resolved syn hronously. If parallel omponents are
distant then this needs a non-trivial proto ol, and it an therefore be argued that
the general form of Sum is not a realisti primitive operator.
There are two main reasons for in luding the Sum operator. One is that
it admits representations of automata in a straightforward way. Automata have
proved useful for high-level des riptions of ommuni ating systems and are present
in many modelling languages. The basi idea is that the behaviour of a ompo-
nent is thought of as a dire ted graph where the nodes represent the rea hable
states and the edges, labelled by a tions, represent the possibilities to move be-
tween states. This an be represented in the - al ulus as follows: For ea h state
hoose a unique Identi er, and introdu e the De nition
=
A def
Xn : A
i i
i=1
for ea h state A where the outgoing edges are labelled ; : : : ; n leading to states
1
A ; : : : ; An .
1

16
The other reason is related to axiomatisations of the behavioural equivalen es
(see Se tion 8). All axiomatisations so far use a version of the expansion law,
whi h repla es Parallel by Sum, as in
ajb = a:b+b:a
No omplete axiomatisation is known for a al ulus with Parallel and without
Sum.
In situations where high-level modelling is not alled for and where omplete
axiomatisation is not an issue, variants of the - al ulus without Sum have been
used, for example to des ribe the semanti s of programming languages. Apart
from omitting the omputationally questionable primitive of syn hronous global
hoi e, whi h would make an implementation of the al ulus diÆ ult, it simpli es
the theory to only have one binary operator.
Many presentations of the al ulus use guarded Sums in pla e of Sum, meaning
that the operands of the Sum must be Pre x forms. The general format of
a guarded sum is Pni i : Pi (i.e., it is an n-ary operator). So for example
a : P + b : Q is a guarded Sum, but a : P + (QjR) is not. With guarded Sum some
=1

parts of the theory be ome simpler, notably the weak bisimulation equivalen e is
a ongruen e (see Se tion 7.4) for the same reason as in ordinary pro ess algebra.
The loss of expressiveness is not dramati : guarded Sum is suÆ ient both for
representing automata and for formulating the expansion theorem. But using
n-ary operators for arbitrarily large n may be onsidered awkward by those who
seek a minimal theory. Note that an n-ary guarded Sum annot be redu ed to a
sequen e of binary guarded Sums, so the n-aryPnoperators are a tually ne essary
for all n. In ontrast, for the ordinary sum, i Pi is de ned as n 1 binary
Sums.
=1

It is interesting that some ases of guarded Sum an be emulated by the


Parallel operator. Consider for example  : P +  : Q. This represents a kind of
internal hoi e: one of the bran hes will be taken but the environment annot
a e t whi h one. The agent behaves in the same way as
( a)(a j a : P j a : Q)
assuming a 62 fn(P; Q). For another example onsider the agent Case a (Q; R)
from the previous se tion; it was de ned as
Case a (Q; R) = ( xy )ahxy i : (x : Q + y : R)
Here the Sum an simply be repla ed by a Parallel omposition
Case a (Q; R) = ( xy )ahxy i : (x : Q j y : R)
without a e ting the behaviour, assuming True a and False a are de ned as before.
It will now hold that Case a (Q; R) j True a evolves to
( xy)(x j x : Q j y : R) ! Q j ( y)(y : R)
and this agent will behave as Q, sin e R is guarded by a private name.
17
3.3 The Polyadi Cal ulus
A straightforward extension is to allow multiple obje ts in ommuni ations: out-
puts of type ahy    yni : P and inputs of type a(x    xn ) : Q where the xi are
1 1
pairwise distin t. We here also admit the ase n = 0 when there is no obje t at
all, and then we elide the bra kets writing a for ahi and a for a(). As was seen in
Se tion 2.3 this does not really in rease the expressiveness of the al ulus sin e
polyadi intera tions an be emulated by sequen es of monadi intera tions over
a private link.
The semanti s for a polyadi al ulus is only notationally more omplex than
for the monadi al ulus. As expe ted we will be able to infer
a(~x) : P j ahy~i : Q ! P fy~=x~g j Q
where the substitution is a simultaneous substitution of all yi for xi (note that
all xi must be di erent sin e they are obje ts in the same input Pre x).
The question then arises how to treat agents su h as a(xy) : P j ahui : Q where
the arity of the output is not the same as the arity of the input. Su h an in-
ompatibility should be aught by a type system. The idea is that ea h name
is assigned a sort, ontaining information about the obje ts that an be passed
along that name. If S is a set of sorts, a sort ontext  is a fun tion from N to
S , in other words (a) is the sort of a.
In the simplest system a sort would just be a natural number, S = N, su h
that (a) denotes the arity of a, i.e., the number of obje ts in any Pre x where
a is the subje t. Formally we write  ` P to mean that P onforms to , and
rules for inferring  ` P an easily be given by indu tion over the stru ture of
P . For example,
 ` P; (a) = n  ` P;  ` Q
 ` ahx    xn i : P
1  ` P jQ
With this idea the agent a(xy) : P j ahui : Q is ill-formed in the sense that it
annot onform to any sort ontext: (a) is required to be 2 in one omponent
and 1 in the other omponent. However, although this simple s heme works for
this parti ular example it is not in general suÆ ient to at h all in ompatible
arities that may arise when an agent exe utes. Consider:
a(u) : u(z ) j ahxi : xhvv i
A sorting assigning 2 to x and 1 to all other names works ne here. Yet the agent
an evolve through an intera tion along a to
x(z ) j xhvv i
whi h is ill-formed. To be able to at h not only the immediately obvious arity
on i ts but also any su h on i ts that an arise during exe ution more infor-
mation must be added to the sorts. For ea h name, the number of obje ts passed
18
along that name is not enough, also the sort of ea h su h obje t must be in luded.
In the example above, the left omponent requires the sort of a to be one obje t
( orresponding to u) whi h has sort 1 be ause of the subterm u(z). The right
omponent requires the sort of a to be one obje t ( orresponding to x) of sort 2
be ause of the subterm xhvvi. With this re ned notion of sort an agent su h as
a(u) : u(z ) j ax : xhvv i is ill-formed.
Of ourse arity on i ts an lie arbitrarily deep, meaning that the sort of a
must ontain information about the obje ts whi h are passed along the obje ts
whi h are passed along ...whi h are passed along a to arbitrary depth. One way
to set this up is the following. To ea h sort S in S asso iate a xed obje t sort
ob (S ) in S  i.e., the obje t sort is a (possibly empty) sequen e of sorts. The
intention is that if a has sort S where ob (S ) = hS1 : : : Sn i, and a(x : : : xn ) is a
1
Pre x, then ea h xi has sort Si . With a slight abuse of notation the sorting rule
for input then be omes:
 [ fx~ 7! ob ((a))g ` P
 ` a(~x) : P
It should be read as follows: In order to establish that a(x : : : xn) : P onforms to
1
, nd the obje t sorts S : : : Sn of a a ording to , and verify that P onforms
1
to  where also ea h xi is assigned sort Si. The rule for output is:
ob ((a)) = (y ) : : : (yn );  ` P
1

 ` ay~ : P
In order to establish that ahy : : : yni : P onforms to  it is enough to show that
1
it assigns y : : : yn the obje t sorts of a, and that P onforms to . In this way
1
agents su h as a a : P , where a name is sent along itself, an also be given a
sorting: if S is the sort of a then ob (S ) = hS i.
There is a large variety of type systems whi h in lude more information, su h
as if names an be used for input or output or both, and there are notions
of subtypes and polymorphism. Binding o urren es in Restri tions are either
expli itly sorted as in ( x : S )P , or a sort inferen e system is used to ompute
a suitable sort. Whether the latter is possible depends on the details of the sort
system.
In on lusion, although polyadi intera tions do not really in rease the expres-
siveness it adds onvenien e and larity when using the al ulus, and eÆ iently
implementable sort systems an as ertain that no mismat hing arities will ever
o ur when agents evolve.

19
3.4 Re ursion and Repli ation
In the - al ulus as in most other pro ess algebras the me hanism for des ribing
iterative or arbitrarily long behaviour is re ursion: a re ursive De nition
A(~x) = P
def

where A o urs in P an be thought of as the de nition of a re ursive pro edure


A with formal parameters x~, and the agent A(~y) is then an invo ation with a tual
parameters y~. Sometimes this is notated through an expli it xpoint onstru tor:
if P is an agent then x X : P is an agent. Here the agent variable X may o ur
in P , and x X : P means the same as the agent Identi er A with the De nition
A = P fA=X g. Fixpoints and De nitions are thus only notational variants. In
def

large spe i ations the De nitions tend to be more readable, but the xpoints
sometimes allow a more optimal formulation for theory development.
For some purposes the spe ial ase of Repli ation is onvenient. If P is an
agent then !P , the Repli ation of P , is given by the de nition
!P = P j !P
def

or using xpoints: !P is the agent


x X : (P j X )
In other words, !P represents an unbounded number of opies of P | the re ur-
sion an obviously be unfolded an arbitrary number of times:
!P  P j !P  P j P j !P  P j P j P j !P et .
For example, an agent whi h an re eive inputs along i and forward them on o
is:
M = !i(x) : ox
Suppose this agent re eives rst u and then v along i. Then, by unfolding the
Repli ation, M  i(x) : ox j i(x) : ox j M , the agent will evolve to ou j ov j M ,
ready to re eive more messages along i but also to emit u and v in arbitrary
order.
Any agent using a nite family of De nitions an be en oded by Repli ation
as follows. Consider
A (~x ) = P def
1 1
... 1

An (~xn ) = Pn
def

used in an agent Q. Then there is a orresponding agent Q0 whi h behaves as


Q and only uses Repli ation. Q0 is onstru ted as follows. Introdu e names

20
a1 ; : : : ; an , one for ea h Identi er, and let Pb be the agent obtained by repla ing
any invo ation Ai(~y) with an output aihy~i in P . Let
D = !a (~x ) : P j    j !an(~xn) : P n
1 1 1

Thus D is an agent whi h emulates all the De nitions in the sense that it an
intera t with any su h output. Finally
Q0 = ( a    an )(DjQb )
1

will then behave in the same way as Q, with the only di eren e that an unfolding
of a De nition will be emulated by an intera tion between Qb and D. For example,
let N = i(x) : ox : N , whi h di ers from M above in that messages are delivered in
def

order and only one message is stored at a time. The agent with only Repli ation
whi h behaves as N is
( a)(!a : i(x) : ox : a j a)
3.5 The Asyn hronous Cal ulus
The - al ulus, as most other pro ess algebras, is based on the paradigm of
syn hronous ommuni ation; an intera tion means that one omponent emits
a name at the same time as another omponent re eives it. In ontrast, in
asyn hronous ommuni ation there is an unpredi table delay between output and
input, during whi h the message is in transit. This an be modelled by inserting
an agent representing an asyn hronous ommuni ation medium between sender
and re eiver. The properties of the medium (whether it has a bound on the
apa ity, whether it preserves the order of messages et .) is then determined by
its de nition. For example, an unbounded medium not preserving the order of
messages is:
M = i(x) : (ox j M )
def

(The same behaviour is expressed with Repli ation in Se tion 3.4.) When M
re eives u along i it evolves to ou j M , and an at any time deliver u along o,
and also ontinue to a ept more messages.
Interestingly, this parti ular form of asyn hrony is also aptured by a sub al-
ulus of  in whi h there is no need to expli itly represent media. The sub al ulus
onsists of the agents satisfying the following requirements:
1. Only 0 an follow an output Pre x.
2. An output Pre x may not o ur as an unguarded operand of +.
The rst requirement disallows agents su h as ax : by, where an agent other than
0 follows ax. The se ond requirement disallows ax + b(y ), but allows  : ax + b(y ).

21
This sub al ulus is known as the asyn hronous - al ulus, and the rationale
behind it is as follows. An unguarded output Pre x ax o urring in a term
represents a message that has been sent but not yet re eived. The a tion of
sending the message is pla ing it in an unguarded position, as in the following
 : (ax j P ) ! ax j P
After this transition, ax an intera t with a re eiver, and the sender pro eeds
on urrently as P . Be ause of requirement 1 the fa t that a message has been
re eived annot be dete ted by P unless the re eiver expli itly sends an a knowl-
edgement. Be ause of requirement 2 a message annot disappear unless it is
re eived. Therefore,  : (ax j P ) an be paraphrased as \send ax asyn hronously
and ontinue as P ."
Of ourse, with a s heme for sending expli it a knowledgements syn hronous
ommuni ation an be emulated, so the loss of expressiveness from the full -
al ulus is largely pragmati . In agents like
 : ( b)(ab j b(x) : P )
the s ope of b is used to prote t this kind of a knowledgement. Here the agent
an do an asyn hronous output of ab, but it is blo ked from ontinuing until it
re eives an a knowledgement along b:
( b)(ab j b(x) : P ) j a(x) : Q ! ( b)(b(x) : P j Qfb=xg)
The a knowledgement an only arrive from the re ipient (Q) of the message, sin e
there is no other agent that an send along the restri ted name b.
The asyn hronous al ulus has been used su essfully to model programming
languages where the underlying ommuni ation dis ipline is asyn hronous. The
theory is slightly di erent sin e only \asyn hronous" observers are deemed rele-
vant. For example, the agent a(x) : ax is semanti ally the same as  sin e the a -
tions of re eiving a datum and then emitting it on the same hannel annot be de-
te ted by any other asyn hronous pro ess or observer. An interesting onsequen e
is that a general form of Sum, the input-guarded Sum y (x) : P +    + yn(x) : Pn
1 1
an be en oded as:
( a)(at j ( y (x) : a(z) : (af j if z = t then P else y x)
1 1 1
j
...
j
yn(x) : a(z ) : (af j if z = t then Pn else yn x)))
The idea is that a a ts as a lo k. Initially t is emitted on a; the rst omponent
to intera t with a will ontinue to emit f on a, all other omponents will resend
22
the datum along yi, thereby undoing the input along yi. This only works in the
asyn hronous al ulus, where re eiving and then emitting the same message is,
from an observer's point of view, the same as doing nothing. (An alert reader
will omplain that if...then...else is de ned using Sum. This is no great
matter, it an be taken as primitive or de ned as the Parallel omposition of the
bran hes.)
3.6 The Higher-Order Cal ulus
Finally we shall look at an extension of the - al ulus alled the higher-order
 - al ulus. Here the obje ts transmitted in intera tions an also be agents. A
higher-order output Pre x form is of the kind
ahP i : Q
meaning \send the agent P along a and then ontinue as Q." The higher-order
input Pre x form is of the kind
a(X ) : Q
meaning \re eive an agent for X and ontinue as Q." Of ourse Q may here
ontain X , and the re eived agent will then repla e X in Q. For example, an
intera tion is
ahbu : 0i : b(x) j a(X ) : (X j v ) ! b(x) j bu j v


The rst omponent sends bu : 0 along a, the se ond omponent re eives it and
exe utes it in parallel with v. The transmitted agent bu is then free to intera t
with the remainder of the rst omponent b(x), sending u to it along b. Sin e
names and agents an both be obje ts in an intera tion, a sorting dis ipline su h
as in Se tion 3.3, extended with a sort for \agent", an be employed to weed out
unwanted ombinations su h as ahP i : Q j a(x) : x(u).
Formally, we introdu e a new ategory of agent variables, ranged over by
X , and extend the de nition of agents to in lude the agent variables and the
higher-order Pre x forms. The notion of repla ing an agent variable by an agent,
P fQ=X g, is as expe ted (and the same as in the xpoint onstru t of Se tion 3.4),
and the higher-order intera tion rule gives that
a(X ) : P j ahQi : R ! P fQ=X g j R


The substitution P fQ=X g is de ned with alpha- onversion su h that free names
in Q do not be ome bound in P fQ=X g. To see the need for this onsider
a(X ) : b( ) : X j ah (z ) : 0i : R

23
Clearly the name in the right hand omponent is not the same as the bound
to the left. The agent is alpha-equivalent to
a(X ) : b(d) : X j ah (z ) : 0i : R
where these names are disso iated. Therefore a transition to b( ) : (z) j R is not
possible. In this sense the binding orresponds to stati binding: the s ope of a
name is determined by where it o urs in the agent. An alternative s heme of
dynami binding, where the s ope is determined only when the name is a tually
used, is possible but mu h more ompli ated semanti ally. For example, su h
bindings annot use alpha- onversion.
Note that an agent variable may o ur more than on e in an agent. For
example,
a(X ) : (X jX ) j ahQi : R ! QjQjR


where the transmitted agent Q has been \dupli ated" by the intera tion. This
lends the higher-order al ulus onsiderable expressive power. Re ursion and
Repli ation are now derivable onstru ts (as in the lambda- al ulus where the
xpoint ombinator Y is expressible). Consider
D = a(X ) : (X j ahX i)
D a epts an agent along a, and will start that agent and also retransmit it along
a. Now let P be any agent with a 62 fn(P ), and
RP = ( a)(D j ahP jDi)
Then RP behaves as !P sin e it will spawn an arbitrary number of P :
RP ! ( a)((P jD) j ahP jDi)  P j RP ! P j P j RP ! 

Obviously, for modelling programming languages with higher-order onstru ts
(su h as fun tions with fun tions as parameters, or pro esses that an migrate
between sites) the higher-order al ulus is suitable. However, its theory is onsid-
erably more ompli ated. In some situations it will then help to en ode it into the
usual al ulus with the devi e from Se tion 2.3. Instead of transmitting an agent
P we transmit a new name whi h an be used to trigger P . Sin e the re eiver of
P might invoke P several times (be ause the orresponding agent variable o urs
at several pla es) P must be repli ated. The main idea of the en oding [ ℄ from
higher-order to the ordinary al ulus is as follows, where we assume a previously
unused name x for ea h agent variable X :
[ (ahP i : Q)℄℄ = ( p)ap : ([[Q℄ j !p : [ P ℄ ) where p 62 fn(P; Q)
[ a(X ) : P ℄ = a(x) : [ P ℄
[X℄ = x
24
Consider the example above, a(X ) : (X jX ) j ahQi : R ! Q j Q j R,
where Q and R in turn ontain no higher-order Pre xes. Using the en oding,
and assuming q is not free in Q or R, we get a similar behaviour:
a(x) : (x j x) j ( q )aq : (R j !q : Q)
! ( q)(q j q j R j !q : Q)

! ! ( q)(0 j 0 j R j Q j Q j !q : Q)
 
 RjQjQ j ( q)!q : Q
where the rightmost omponent ( q)!q : Q will never be able to exe ute be ause
it is guarded by a private name, so the whole term will behave as QjQjR as
expe ted.

4 Operational Semanti s

The standard way to give an operational semanti s to a pro ess algebra is through
a labelled transition system, where transitions are of kind P ! Q for some set

of a tions ranged over by . The - al ulus follows this norm and most of the
rules of transitions are similar to other algebras. As expe ted, for an agent
: P there will be a transition labelled leading to P . Also as expe ted, the
Restri tion operator will not permit an a tion with the restri ted name as subje t,
so ( a)au : P has no transitions and is therefore semanti ally equivalent to 0. But
what a tion should
( u)au : P
have? Clearly it must have some a tion; inserted in a ontext a(x) : Q j ( u)au : P
it will enable an intera tion sin e, assuming u 62 fn(Q), this term is stru turally
ongruent to ( u)(a(x) : Q j au : P ) and there is an intera tion between the om-
ponents. So ( u)au : P is not, intuitively, something that behaves as 0. On the
other hand it is learly distin t from au : P and it an therefore not be given the
a tion au. For example,
(a(x) : if x = u then Q) j au ! if u = u then Q
whi h an ontinue as Q, while
(a(x) : if x = u then Q) j ( u)au  
( v)((a(x) : if x = u then Q) j av) !
( v)if v = u then Q
and there are no further a tions (remember that s ope extension requires that u
is alpha- onverted before the s ope is extended.)
The solution is to give ( u)au a new kind of a tion alled bound output written
a u. The intuition is that a lo al name represented by u is transmitted along a,
extending the s ope of u to the re ipient. In summary, the a tions ranged over
by onsists of four lasses:
25
1. The internal a tion  .
2. The (free) output a tions of kind ax.
3. The input a tions of kind a(x).
4. The bound output a tions a x.
The three rst kinds orrespond pre isely to the Pre xes in the al ulus.
For the sake of symmetry we introdu e a fourth kind of Pre x a x, for a 6= x,
orresponding to the bound output a tion. The bound output Pre x is merely
a ombination of Restri tion and output as de ned by a x : P = ( x)ax : P . In
this way we an ontinue to let range over both a tions and Pre xes, where
fn(a x) = fag and bn(a x) = fxg.
An input transition P a ! x
( )
Q means that P an re eive some name u along
a, and then evolve to Qfu=xg. In that a tion x does not represent the value
re eived, rather it is a referen e to the pla es in Q where the re eived name will
appear. When examining further transitions from Q, all possible instantiations
for this x must be onsidered. Those familiar with fun tional programming and
the lambda- al ulus might think of the transition as P ! a
x Q, making it lear
that the derivative, after the arrow, has a fun tional parameter x. (The reader
may at this point wonder about an alternative way to treat input by in luding
the re eived name in the a tion, as in a(x) : P au! P fu=xg. This is a viable
alternative and will be dis ussed in Se tion 5.3.)
Similarly, the bound output transition P a!x Q signi es an output of a lo al
name and x indi ates where in Q this name o urs. Here x is not a fun tional
parameter, it just represents something that is distin t from all names in the
environment.
The labelled transition semanti s is given in Table 3. The rule stru t makes
expli it our intuition that stru turally ongruent agents ount as the same for
the purposes of the semanti s. This simpli es the system of transition rules. For
example, sum is suÆ ient as it stands in Table 3. The dual rule
Q ! Q0
sum2
P + Q ! Q0
is redundant sin e it an be inferred from sum and stru t. Similar arguments
hold for the rules par and om.
In the rule par, note the extra ondition that Q does not ontain a name
bound in . This onforms to the intuition that bound names are just referen es
to o urren es; in the on lusion P jQ ! P 0jQ the a tion should not refer to

any o urren e in Q. To see the need for the ondition onsider the inferen e
a(x) : P a !
( ) x
P
par
(a(x) : P ) j Q ! P j Q
ax
( )

26
stru t P  P; P0 ! Q; Q  Q0
0
P ! Q0

prefix
:P !P

sum P! P 0 0

P +Q !P

mat h P ! P 0
if x = x then P! P0

mismat h P ! P 0; x =6 y
if x 6= y then P ! P 0

par P ! P ; bn( ) \ 0fn(Q) = ;


0
P jQ ! P jQ
a(x)
om P ! P 0; Q au! Q0
P jQ ! P 0fu=xgjQ0

res P ! P ; x 62 0
0
( x)P ! ( x)P
open P ! P a; xa 6= 0x
ax 0
( x)P ! P
Table 3: The operational semanti s.

27
Combined with an output au : R au! R we get
om
(a(x) : P ) j Q ! P j Q; au : R au! R
( ) ax

((a(x) : P ) j Q) j au : R ! (P j Q)fu=xg j R
This is learly only orre t if x 62 fn(Q), otherwise the free x in Q would be
a e ted by the substitution. If x 2 fn(Q) then a similar derivation is possible
after rst alpha- onverting x in a(x) : P to some name not free in Q.
The rule open is the rule generating bound outputs. It is interesting to
note that bound output a tions do not appear in the om rule and therefore
annot intera t dire tly with inputs. Su h intera tions are instead inferred by
using stru tural ongruen e to pull the Restri tion outside both intera ting agents
(possibly after an alpha- onversion), as in the following where we assume that
u 62 fn(P ):
a(x) : P j au : Q ! P fu=xg j Q
res
stru t
( u)(a(x) : P j au : Q) ! ( u)(P fu=xg j Q)
a(x) : P j ( u)au : Q ! 
( u)(P fu=xg j Q)
In view of this it might be argued that bound output transitions and the rule open
an be omitted altogether, sin e they have no impa t on inferring intera tions.
Although te hni ally this argument is valid there are other reasons for in luding
the bound output. One is of philosophi al nature: we think of the agent ( u)au
as, intuitively, being able to do something, namely exporting a lo al name, and
if we do not dignify that with a transition we introdu e an in ompleteness in the
semanti s in that not all behaviour is manifested by transitions. Another reason
is of te hni al onvenien e: when it omes to developing behavioural equivalen es
(see Se tion 6) the bound output transitions will turn out to be indispensable.

5 Variants of the Semanti s

We will here onsider alternative operational semanti s. Some are mere presen-
tational variants. But di erent semanti s have di erent strengths, for example
one may be suitable for an automati tool and another may boost intuition, so
there is a point to the diversity.
5.1 The Role of Stru tural Congruen e
Through the rule stru t we an regard an inferen e of P  Q as a step in an
inferen e of a transition. If the only purpose of the ongruen e is to fa ilitate
inferen e of labelled transitions then there is a possible trade-o between what to
in lude in the stru tural ongruen e and what to in lude in the transition rules.
As we saw the dual sum of sum is unne essary, but an alternative solution is
2

28
to omit ommutativity from the stru tural ongruen e and introdu e sum2. A
similar hoi e o urs for the Parallel ombinator: stru tural ommutativity an
be omitted at the pri e of introdu ing the duals of par and om.
For some operators there is even a hoi e between de ning it entirely through
the ongruen e or through the transition rules. For example, the Mat h operator
an either be de ned with the rule mat h or with an additional stru tural rule
if x = x then P  P

In Table 3 we hose to give it with a transition rule be ause of the symmetry


with mismat h. Note that Mismat h annot be de ned through the perhaps
expe ted stru tural rule
if x 6= y then P  P if x 6= y

sin e that rule would be obviously unsound for a Mismat h under an input Pre x:
a(x) : if x 6= y then P and a(x) : P
represent two di erent behaviours!
Another su h hoi e o urs for Identi ers. They are here de ned through a
stru tural ongruen e rule A(~y)  P fy~=x~g if A(~x) = P . Alternatively we ould
def

have given the transition rule:


P fy~=x~g ! P 0 ; A(~x) = P
def

ide
A(~y) ! P 0
Perhaps the most dramati part of the stru tural ongruen e is the s ope
extension whi h, together with om, make possible transitions like
a(x) : P j ( u)au : Q ! ( u)(P fu=xg j Q)
(provided u 62 fn(P )). Interestingly, there is a way to a hieve the same e e t
without the s ope extension. It involves a new transition rule lose whi h
represents an intera tion between a bound output and an input:
P a(!
u) 0
P ; Q a!u Q0
lose
P jQ ! ( u)(P 0jQ0 )
Let us see how the transition from a(x) : P j ( u)au : Q mentioned above is de-
rived. It involves an alpha- onversion of x to u in the rst operand:
a(x) : P  a(u) : P fu=xg; a(u) : P fu=xg a !
u
( )
P fu=xg
stru t
a(x) : P a !
u
( )
P fu=xg
29
open in the se ond omponent gives:
au : Q au! Q
open
( u)au : Q a!u Q
and ombining the two on lusions we get:
a(x) : P ! P fu=xg; ( u)au : Q a!u Q
au
( )

lose
a(x) : P j ( u)au : Q ! ( u)(P fu=xg j Q)
Note how the s oping represented by  moves from the se ond operand onto the
transition arrow and reappears in the term in the on lusion!
In this way it is possible to remove all of the stru tural ongruen e ex ept
alpha- onversion, at the expense of introdu ing more transition rules. In fa t, it
is even possible to remove the alpha- onversion by building it into a spe ial rule,
or into the rules that generate bound a tions. For example, the rule for input
would be ome
a(x) : P a !
( ) u
P fu=xg
for any u 62 fn(P ), and similarly the rule open would need a modi ation.
Therefore, the hoi e whether to use a stru tural ongruen e at all and, if
so, how many rules it should ontain is largely one of onvenien e. Histori ally,
the rst presentations of the al ulus did not use stru tural ongruen e and an
advantage is then that some proofs by indu tion over inferen e of transition be-
ome learer. Today most presentations use some form of stru tural ongruen e,
at least in luding alpha- onversion, sin e the de nitions be ome more ompa t
and transparent. For example, the s ope extension in stru tural ongruen e is
easier to understand than the e e t of the lose and open rules.
5.2 Symboli Transitions
In the transitional semanti s an input a tion P a ! x
( )
Q represents that anything
an be re eived along a. Consequently, if we want to explore further transitions
from Q we must take into a ount all possible substitutions for x. Sin e there are
in nitely many names it appears we have to explore the behaviour of Qfu=xg for
in nitely many names u. In general, when a number of su h inputs have been
performed, we may be interested in the behaviour not merely of an agent P but
of P  for substitutions  involving several names. This kind of in nite bran hing
is awkward for proof systems and prohibits eÆ ient tool support for automated
analysis.
Therefore, an alternative way to present the semanti s is to let a transition
from P ontain information about the behaviour not only of P itself but also of
P  for any  . The key observation is that even though there are in nitely many

30
names a synta ti ally nite agent an only subje t them to a bounded number of
tests, and the onditions whi h enable a transition an be re orded. For example,
onsider
P = au : Q j b(x) : R
We an s hemati ally express the transitions of P  su in tly as follows. For
any  the agent P  will have an input and an output transition (with subje t
 (a) and  (b) respe tively). In addition, if  (a) =  (b) it will have a  -transition
arising from a ommuni ation between the omponents. This is the idea behind
the so alled symboli semanti s, where these transitions ome out as:
P true! ; au
Q j b(x) : R
true; b x
P ! au : Q j R
( )

P =
! Q j Rfu=xg
a b; 

The label on a transition here has two omponents. The rst is a ondition whi h
must hold for the transition to be enabled, and the se ond is as usual the a tion
of the transition.
In the - al ulus the onditions have a parti ularly simple form. The only
tests an agent an perform on names are for equality (arising from the Parallel
ombinator, as above, and from Mat h) and inequality (arising from Mismat h).
Of ourse several of these tests may a e t a transition, so a ondition will in
general be a onjun tion of equalities and inequalities on names. For example,
we will have that
x y^x6 b^a b; 
if x = y then au : Q j if x 6= b then b(y ) : R ! Q j Rfu=yg
= = =

Formally we let M; N range over onjun tions of name equalities and inequali-
ties, in luding the M;empty onjun tion whi h is written true. Symboli transitions
are of the form P ! Q, meaning \if M holds then P has an a tion leading

to
Q." We let  range over pairs (M; ), so a symboli transition is written P ! Q. 
For  = (M; ) we let bn() mean bn( ) and we let  ^ N mean (M ^ N; ). The
rules for symboli transitions are given in Table 4 and are similar in stru ture to
the rules in Se tion 4 for ordinary transitions. The only subtle point is the e e t
of Restri tion on a ondition in the rules s-res and s-open. Suppose P has a
symboli transition
P M;! Q
with a ondition M that mentions x in a onjun t x 6= y. This means that the
transition from P only holds for substitutions assigning x and y di erent names,
perhaps be ause P is of the form if x 6= y then ... What is then the ondition
M 0 of the inferred symboli transition
( x)P M !; 0
Q
0 0

31
stru t P  P; P0 ! Q; Q  Q0
0 
s
P ! Q0


s prefix
:P ! P
true;

s sum P!P 0 0
P +Q !P

s mat h P! P 0 x; y 62 bn()

^x y
if x = y then P ! P 0
=

s mismat h P ! P 0; x; y 62 bn()


6 y then P ^x!6 y P 0
if x =
=

s par P
! P 0; bn() \ fn(Q) = ;


P jQ ! P 0 jQ
M; a(x)
s om P ! P 0 ; Q N;! bu 0
Q
M ^N ^a=b;  0
P jQ ! P fu=xgjQ0
s res P M;! P 0 ; x 62
( x)P M !x; ( x)P 0
open P !MP x;; aa6=
M; ax 0
s x
( x)P ! P x 0

Table 4: The symboli transition semanti s.

32
To see what it should be we must ask how substitutions involving x an enable
that transition. The requirement from M is that x should not be assigned the
same name as y. But sin e substitutions only a e t free names, no substitution
will assign y the same name as the bound x in ( x)P . Therefore, the inferred
transition from ( x)P will be possible no matter how x is treated by the substi-
tution. Hen e the onjun t x 6= y should not be present in M 0 .
Suppose instead that M says that x is the same as some other name y, i.e., M
ontains a onjun t x = y, meaning \this transition only holds for substitutions
assigning x and y the same name." Then the inferred transition from ( x)P will
hold for no substitution, for the same reason. In that ase M 0 an be hosen
to be any unsatis able ondition, for example z 6= z. The only other types of
onjun ts in M mentioning x are the trivial x = x, whi h is always true and an
be removed at will, and the ontradi tory x 6= x, whi h implies that the ondition
is unsatis able.
In on lusion, the ondition M 0 an be de ned as M where onjun ts x = x
and x 6= y are removed, and onjun ts x = y are repla ed with an unsatis able
onjun t z 6= z, for all y di erent from x. We denote this by \M x" in Table 4.
For example (x 6= y ^ z = u) x is (z = u), and (x = y ^ z = u) x is z 6= z (it
is not satis able).
As an example inferen e onsider the symboli transition from
( x)if x 6= y then : P
First by s-prefix
: P true!; P
and then by s-mismat h
x6 y;
if x 6= y then : P ! P
=

and nally by s-res, sin e (x 6= y) x = true and assuming x 62 :


( x)if x 6= y then : P true!; ( x)P
In a similar way we get that
( x)if x = y then : P z6 !
= z;
( x)P
In other words, the rst transition holds for all substitutions and the se ond for
no substitution, i.e., is never possible. This is as it should sin e no substitution
an make x and y equal in an agent where x is bound.
We an now state how the symboli semanti s orresponds to the transitions
in Se tion 4. Write  j= M to denote that for any onjun t a = b in M it
holds that (a) = (b) and for any onjun t a 6= b it holds that (a) 6= (b). The
33
orresponden e between the semanti s is that P M;! P 0 implies that for all  su h
that  j= M there is a transition P  ! P 0. Conversely, if P  ! P 00 then for
some M; ; P 0 it holds P M;! P 0 where  j= M and P 00  P 0 and = . The
proof is through indu tion over the inferen e systems for transitions. Therefore,
a tool or proof system is justi ed in using the symboli semanti s.
5.3 The Early Semanti s
As mentioned in Se tion 4 there is an alternative way to treat the semanti s for
input, the so alled early semanti s, by giving the input Pre x the rule for all u:
e input
a(x) : P ! P fu=xg
au

Here there is a fth kind of a tion, the free input a tion of kind au, meaning
\input the name u along a". Note the di eren e between
P ! Q meaning P inputs something to repla e x in Q, and
a(x)

P ! Q meaning P re eives the name x and ontinues as Q


ax

In the early semanti s the om rule needs a modi ation, sin e the input a tion
in the premise refers to the transmitted name:
P au! P 0; Q au! Q0
e om
P jQ ! P 0 jQ0
There is no substitution in the on lusion sin e that has already been performed
at an earlier point in the inferen e of this transition, namely when the input a tion
was inferred. Hen e the name \early" semanti s. Consequently the semanti s
in Se tion 4 is alled the late semanti s: the substitution emanating from an
intera tion is inferred as late as possible, namely when inferring the intera tion
in the om-rule. In the early semanti s there is no need for the bound input
a tions, so there will still only be four kinds of a tion. However, if s ope extension
in the stru tural ongruen e is omitted in favour of the lose rule as des ribed
in Se tion 5.1 then the early semanti s also needs the bound input a tions, and
hen e all ve kinds.
To see the similarity and di eren e between late and early, onsider the in-
feren e of an intera tion between a(x) : P and au : Q. Both semanti s yield the
same  -transition. First the late semanti s:
prefix prefix
om
a(x) : P ! P
a(x)
au : Q !Q
au

a(x) : P j au : Q ! P fu=xg j Q


34
Then the early semanti s:
e input prefix
a(x) : P au! P fu=xg au : Q !Q
au
e om
a(x) : P j au : Q ! P fu=xg j Q


The  -transitions that an be inferred with the early semanti s are exa tly
those that an be inferred with the late semanti s. The proof of this is by indu -
tion over the depth of inferen e of the transition. The indu tion hypothesis needs
to state that not only  a tions but also input and output a tions orrespond in
the two semanti s, where the orresponden e between input and free input is that
P au! P 0 i 9P 00 ; w : P ! P 00 ^ P 0  P 00 fu=wg.
xw
( )

In view of this it is a matter of taste whi h semanti s to adopt. It ould


be argued that the early semanti s more losely follows an operational intuition
sin e, after all, an agent performs an input a tion only when it a tually re eives
a parti ular value. On the other hand, experimental eviden e indi ates that
proof systems and de ision pro edures using the late semanti s are slightly more
eÆ ient, and as we shall see in Se tion 7 it allows a wider spe trum of behavioural
equivalen es.
5.4 Redu tions
Another idea for the operational semanti s is to represent intera tions using an
unlabelled transition system. The idea is that P ! Q, pronoun ed \P redu es
to Q", is the same as P ! Q. The di eren e is that redu tions are inferred
dire tly from the syntax of the agent, as opposed to  -transitions whi h are
inferred from input and output transitions. This is a omplished by a ounterpart
to the om rule whi h expli itly mentions the Pre xes that give rise to the
redu tion:
r om
(   + a(x) : P ) j (   + au : Q) ! P fu=xg j Q
In addition, the rules par and res need ounterparts for redu tions; they are
quite simple sin e there is no label on the transition:
P ! P0 P ! P0
r par r res
P jQ ! P 0jQ ( x)P ! ( x)P 0
and of ourse the stru tural rule is as before:
P 0  P; P ! Q; Q  Q0
r stru t
P 0 ! Q0
That's it! Those four rules suÆ e for a sub al ulus, formed by the agents satis-
fying:
35
1. All Sums are guarded Sums, i.e., of kind : P +    + n : Pn.
1 1

2. There are no unguarded if-operators.


3. There are no  -Pre xes.
These restri tions are not very severe. In pra ti e Sums are almost always
guarded (this ex ludes agents like (P jQ)+ R whi h are seldom used). The se ond
ondition is easy to satisfy sin e any if-operator not under an input Pre x an
be evaluated; the agent if x = y then P an be repla ed by P if x = y and by
0 otherwise, and onversely for if x 6= y then P . The importan e of the two
rst onditions is that stru tural ongruen e an always be used to pull the two
a tive Pre xes into a position where r- om is possible. The third ondition is
also not dramati . The silent Pre x is derivable in the sense that ( a)(a : P j a)
behaves exa tly like  : P .
The fa t that ! orresponds to ! in the ordinary semanti s is then easily
proved by indu tion on inferen e of !. Ea h su h inferen e only uses r- om
on e and r-stru t a number of times.
Clearly, for ease of presentation the redu tion semanti s is superior to the
labelled transition semanti s, and is therefore often taken as a point of departure
when des ribing the - al ulus. It is then important to remember that the pri e
for the simpli ity is loss of information: the redu tion semanti s re ords only
the ompleted intera tions within an agent, and ignores the potential that agent
shows for intera ting with an environment. For example au : 0 and bu : 0 and
( u)au : 0 all have no redu tions and are therefore in some sense semanti ally
identi al, even though they have di erent \potential" intera tions.
For this reason proof systems and de ision pro edures based dire tly on the
redu tion semanti s are not optimal. However, one great advantage is that it
works equally well for the higher-order al ulus (Se tion 3.6), where a labelled
semanti s is ompli ated with agents de orating the arrows.
5.5 Abstra tions and Con retions
The input transition P a !
x
Q an intuitively be thought of as P !
( ) a
xQ
where xQ is a fun tion from names to agents. This idea an be elaborated to
give an alternative presentation of the transition system. It requires a few more
de nitions but the rules be ome simpler.
De ne agent abstra tions, ranged over by F , to be of kind xP , and dually
agent on retions, ranged over by C , to be of kind [x℄P . The latter is just a
notation for the pair (x; P ) and allows the output transition P ax! Q to be
written P ! a
[x℄Q. We write an input Pre x a(x) : P as a : F , where F =
xP , and similarly an output Pre x ax : P as a : C , with C = [x℄P . Let agents,
abstra tions and on retions olle tively be alled the extended agents, ranged
36
over by E , and let range over names x, overlined names x, and  . A transition
will then be written P ! E .
We further allow Restri tions ( x) to operate on abstra tions and on retions
with the additional s ope extension laws
( y)xP  x( y)P and ( y)[x℄P  [x℄( y)P
provided x 6= y; we also allow alpha- onversion in the usual sense, where x (but
not [x℄) ounts as a binding o urren e of x. And we de ne Parallel omposition
for extended agents by
P j xQ  x(P jQ)
P j [u℄Q  [u℄(P jQ)
P j ( x)[x℄Q  ( x)[x℄(P jQ)
where x 62 fn(P ). With these onventions, abstra tions are stru turally ongru-
ent to forms of kind xP , and on retions are ongruent to one of the two forms
[x℄P or ( x)[x℄P , where P is an agent.
The transition rules for extended agents are given in Table 5. It is interesting
to ompare with the standard semanti s in Table 3. The new rules are simpler
mainly in two ways. First, sin e transitions arry no obje ts, x-par does not
need to deal with a side ondition on bound obje ts. Se ond, the rule x-res
ful ls the fun tion of both res and open. The pri e for this simpli ation is the
added omplexity of the stru tural ongruen e whi h here has extra rules dealing
with abstra tions and on retions. To see this onne tion onsider a derivation
of
( u)(au : P j u(b) : Q) a!u P j u(b) : Q
whi h uses prefix, par and open in the standard semanti s. With extended
agents the inferen e goes by x-prefix and x-par to derive
a : [u℄P j u : bQ ! a
[u℄P j u : bQ
and then through x-stru t, the new part about Parallel omposition of extended
agents,
a : [u℄P j u : bQ ! a
[u℄(P j u : bQ)
and nally x-res
( u)(a : [u℄P j u : bQ) ! a
( u)[u℄(P j u : bQ)
In on lusion, the use of extended agents is on eptually attra tive sin e some
of the \bookkeeping" a tivity in an inferen e, like keeping tra k of bound names
and their s ope, is fa tored out from the transition rules and in luded in the
stru tural ongruen e. Also, the representation of transitions in these rules has
proved suitable for automati tools, in parti ular if used in onjun tion M; with a
symboli semanti s as in Se tion 5.2, where transitions are of the kind P ! E .
The drawba k is that the format is more unfamiliar to those a ustomed to other
pro ess algebras.
37
stru t P  P; P0 !  E0
0
E; E
x
P ! Q0

x prefix
:E !

E

x sum P!

E
P +Q !
E

x mat h P !
E
if x = x then P!

E

x mismat h P !
E; x =6 y
if x 6= y then P ! E

x par P !

E
P jQ ! E jQ

x om P ! xP
a 0; Q ! a
[u℄Q0
P jQ ! P 0 fu=xgjQ0


res P ! E; x 6= ; x 6=

x
( x)P ! ( x)E
Table 5: Transitions for extended agents.

38
6 Bisimilarity and Congruen e

We shall here look at one of the most fundamental behavioural equivalen es,
namely strong bisimilarity. It turns out not to be a ongruen e | it is not
preserved by input pre x | but fortunately the largest ontained ongruen e
has a simple hara terisation.
6.1 Bisimilarity
In most pro ess algebras a family of equivalen e relations on agents is based on
bisimulations, and the - al ulus is no ex eption. The generi de nition of a
bisimulation is that it is a symmetri binary relation R on agents satisfying
P RQ and P ! P 0 implies 9Q0 : Q ! Q0 ^ P 0RQ0
The intuition is that if P an do an a tion then Q an do the same a tion and the
derivatives lie in the same relation. Two agents are said to be bisimilar if they
are related by some bisimulation; this means that they an inde nitely mimi the
transitions of ea h other.
For the - al ulus extra are has to be taken for a tions with bound obje ts.
Consider
P = a(u); Q = a(x) : ( v )vu
Intuitively these represent the same behaviour: they an do an input along a and
then nothing more. However, Q has the name u free where P has not. Therefore,
x in Q annot be alpha- onverted to u, and the transition P ! 0 annot be
au
( )

simulated by Q. Su h a di eren e between P and Q is not important sin e, if


P has an a tion a(u), then by alpha- onversion it also has a similarly derived
a tion a(w) for in nitely many w. Clearly it is suÆ ient for Q to simulate only
the bound a tions where the bound obje t is not free in Q. This argument applies
to both input and bound output a tions.
Also, input (but not bound output) a tions mean that the bound obje t is
a pla eholder for something to be re eived. Therefore, if P a ! x
( )
P 0 then the
behaviour of P 0 must be onsidered under all substitutions fu=xg, and we must
require that for ea h su h substitution Q0 is related to P 0, or in other words, that
they are related for ea h value re eived.
In the following we will use the phrase \bn( ) is fresh" in a de nition to mean
that the name in bn( ), if any, is di erent from any free name o urring in any
of the agents in the de nition.
De nition 1 A (strong) bisimulation is a symmetri binary relation R on agents
satisfying the following: P RQ and P ! P 0 where bn( ) is fresh implies that

(i) If = a(x) then 9Q0 : Q a ! x


( )
Q0 ^ 8u : P 0fu=xgRQ0 fu=xg

39
(ii) If is not an input then 9Q0 : Q ! Q0 ^ P 0 RQ0
P and Q are (strongly) bisimilar, written P _ Q, if they are related by a bisim-
ulation.

It follows that _ , whi h is the union of all bisimulations, is a bisimulation. We


also immediately have that P  Q implies P _ Q, by virtue of the rule stru t.
At this point it might be helpful to onsider a few examples. Requirement (i)
is quite strong as demonstrated by
P = a(x) : P + a(x) : 0; P = a(x) : P + a(x) : if x = u then P
1 2

Assume that P 6_ 0. Then P 6_ P sin e the transition P a !


1 2 1
x
( )
0 annot be
simulated by P . For example, P ! if x = u then P does not suÆ e sin e,
2 2
ax ( )

for the substitution fu=xg, the derivatives are not bisimilar. Similarly,
P = a(x) : P + a(x) : 0; P = a(x) : P + a(x) : 0 + a(x) : if x = u then P
1 2

are not bisimilar be ause of the transition P a ! x


2 if x = u then P . Neither 0
( )

nor P is bisimilar to if x = u then P for all substitutions of x, sin e 0 fails for


fu=xg and P fails for the identity substitution. Using the intuition that an input
P ! Q an be thought of as P a! xQ, lause (i) says that the derivatives
ax
( )

(whi h are fun tions from names to agents) must be pointwise bisimilar.
As expe ted we have
a j b _ a : b + b : a
and
a j a _ a : a + a : a + 
This demonstrates that _ is not in general losed under substitutions, i.e., from
P _ Q we annot on lude that P  _ Q . For this reason we have
(a) : (a j b) 6_ (a) : (a : b + b : a)
demonstrating that _ is not preserved by input Pre x, i.e., that from P _ Q
we annot on lude that a(x) : P _ a(x) : Q.
However, we have the following results:
Proposition 2 If P _ Q and  is inje tive then P  _ Q .
Proposition 3 _ is an equivalen e.
Proposition 4 _ is preserved by all operators ex ept input Pre x.

40
Proposition 2 is proved by establishing that transitions are preserved by in-
je tive substitutions, i.e., that for inje tive ,
P ! P 0 implies P  ! P 0 
where the substitution  applied to an a tion is de ned not to a e t bn( ).
This result is established by indu tion of the inferen e of P ! P 0 and ea h rule

in Table 3 gives rise to one indu tion step. It is then straightforward to show
that f(P ; Q) : P _ Q;  inje tiveg is a bisimulation.
Proposition 3 is not diÆ ult. Re exivity and symmetry are immediate and
for transitivity it suÆ es to show that _ _ is a strong bisimulation.
The proof of Proposition 4 goes by examining ea h operator in turn. It is a
bit ompli ated for the ases of Restri tion and Parallel. For example, we would
like to show that
f(( x)P; ( x)Q) : P _ Qg [ _
is a bisimulation, by examining the possible transitions from ( x)P , where the
rules res and open are appli able. Unfortunately this simple idea does not
quite work sin e also the stru t rule is appli able, so we have to in lude all
stru turally ongruent pairs in the bisimulation. A proof idea is the following.
Say that an agent is normal if all bound names are distin t and all unguarded
Restri tions are at the top level, i.e., of the form ( x~)P where P has no unguarded
Restri tions. By Proposition 1 any P is stru turally ongruent to a normal agent.
Now extend the transition rules with the symmetri ounterparts of par and om;
in view of the ommutativity in the stru tural ongruen e this does not a e t
the transitions. That makes it possible to prove the lemma
If P ! P 0 and P  N where N is normal, then by an inferen e of
no greater depth, N ! N 0 and P 0  N 0 .
The proof is through indu tion on the inferen e of P  N and involves a tedious
examination of all rules for the stru tural ongruen e. Now we an show that the
relation on normal agents
f(( x~)(P jQ); ( x~)(P 0jQ0)) : P _ P 0; Q _ Q0 g
is a bisimulation up to _ (as explained below), by showing that an a tion from
one side is simulated by an a tion from the other side, through indu tion on the
inferen e of the a tion. There are eight indu tive steps through ombinations of
the par, om, res and open laws to onsider. All ases are routine. Be ause
of the lemma, a tions derived through the stru t rule an be ignored in the
indu tion sin e they also have a shorter inferen e. Finally we an take P = P 0 = 0
to show that Restri tion preserves bisimilarity, and x~ the empty sequen e to show
the same for Parallel.
The notion of \bisimulation up to" is a standard proof tri k in these ir um-
stan es. It involves modifying De nition 1 by repla ing R in the onsequents of
41
(i) and (ii) by _ R _ , i.e., the relational omposition of _ , R, and _ . The
requirement is thus weakened: the derivatives must be bisimilar to a pair in R,
in ontrast to De nition 1 whi h requires that the derivatives themselves lie in
R. It then holds that if two agents are related by a bisimulation up to _ then
they are bisimilar. The proof of this is very similar to the orresponding result
for other pro ess algebras.
6.2 Congruen e
The fa t that bisimilarity is not preserved by input Pre x makes us seek the
largest ongruen e in luded in bisimilarity. The de nition is fortunately simple:
De nition 2 Two agents P and Q are (strongly) ongruent, written P  Q, if
P  _ Q for all substitutions  .
For an example, although a j b _ a : b + b : a these agents are not strongly on-
gruent sin e the substitution fa=bg makes them non-bisimilar. However, we do
have
a j b  a : b + b : a + if a = b then 
and the reader may by this example realise the ru ial role played by the Mat h
operator in an expansion law whi h redu es a Parallel omposition to a Sum.
Proposition 5 Strong ongruen e is the largest ongruen e in bisimilarity.
We rst have to show that strong ongruen e is a ongruen e, i.e., that it is
preserved by all operators. For all operators ex ept input Pre x this is immediate
from the de nition and Proposition 4. For input Pre x we show that
f(a(x) : P; a(x) : P 0) : P  P 0g [ 
is a strong bisimulation and losed under substitutions. The latter is trivial sin e
 is losed under substitutions. For the bisimulation part, the transition to
onsider is a(x) : P a !( ) x
P whi h obviously is simulated by a(x) : P 0 a ! x( )
P 0 ; we
have to show that for all u, P fu=xg is related to P 0fu=xg, and this follows from
P  P 0.
We next show that it is the largest su h ongruen e. Assume that P and Q
are related by some ongruen e 0 in _ . We shall show that this implies that
P  _ Q for any  , in other words that 0 . Without loss of generality we
an assume that (x) 6= x for only nitely many names x sin e the e e t of  on
names not free in P or Q is immaterial. So let  = fy : : : yn = x : : : xn g. Choose
1 1
a 62 fn(P; Q). By P 0 Q and the fa t that 0 is a ongruen e we get
( a)(a(x : : : xn ) : P j ahy : : : yni) 0 ( a)(a(x : : : xn) : Q j ahy : : : yni)
1 1 1 1

and by the fa t that 0 is in _ we get, following the  -transition from both


sides, that P  _ Q.
42
7 Variants of Bisimilarity

There are several ways in whi h the de nition of equivalen e an be varied. We


here onsider some variants that are parti ular to the - al ulus, in the sense
that they di er in how the name substitutions arising from input are treated. We
also brie y onsider the weak bisimulation equivalen es.
7.1 Early Bisimulation
Bisimulations an also be de ned from the early semanti s in Se tion 5.3. This
leads to an equivalen e whi h is slightly larger than _ , i.e., it equates more
agents, although that di eren e is hardly ever of pra ti al signi an e.
For larity let the transitions in the early semanti s be indexed by E, so for
example we have a(x) : P ! P fu=xg. As mentioned in that se tion the  -
au
E
transitions are the same with the late and early semanti s, in other words ! is
the same as ! , and similarly for output transitions. So the distin tion is only
E
relevant for input transitions.
In the early input transition the obje t represents the value re eived, and
therefore there is no need for lause (i) in the de nition of bisimulation with
arbitrary instantiation of the bound obje t. The de nition of early bisimulation
is in that respe t simpler.
De nition 3 A (strong) early bisimulation is a symmetri binary relation R on
agents satisfying the following: P RQ and P ! P 0 where bn( ) is fresh implies
E
that
9Q0 : Q ! Q0 ^ P 0RQ0
E

P and Q are (strongly) early bisimilar, written P _ Q, if they are related by an


E
early bisimulation.

To avoid onfusion we will in the following refer to De nition 1 as late bisim-


ulation and _ as late bisimilarity, and orrespondingly to  as late ongruen e.
A simple example highlights the di eren e between late and early.
P = a(x) : P + a(x) : 0; P = a(x) : P + a(x) : 0 + a(x) : if x = u then P
1 2

The summand a(x) : if x = u then P is the only di eren e between P and P .1 2


For late bisimilarity this di eren e is important. It gives rise to the transition
! leading to if x = u then P and no transition in P an simulate this for all
ax
( )
1
instan es of x. But it is not important for early bisimilarity, and indeed P _ P .
1 E 2
To see this onsider the transitions that the extra summand generates, they are
P aw
2 ! if w = u then P fw=xg
E

43
for all w. For the ase that w = u, P simulates through P au! P fu=xg, and the
1 1 E
derivatives are bisimilar sin e if u = u then P fu=xg has the same transitions
as Pawfu=xg. For the other ases, i.e., w 6= u, P simulates with the transition
1
P ! 0, and the derivatives are bisimilar sin e if w = u then P fw=xg has no
1 E
transitions.
Again it helps to think of late input transitions as resulting in fun tions from
names to agents. Consider the pi torial representation of P and P in Figure 1
1 2
where late input transitions are arrows and instantiations of the bound obje t are
dashed lines (for simpli ity we onsider only two instantiations u and w where in
reality there would be one for ea h name). Late bisimulation requires that the
derivatives simulate after ea h input ! and then again after ea h instantiation.
a
Therefore P and P are
1 2 not late bisimilar. In ontrast, an early input means
the same as an input ! and an instantiation in the same go. The intermediate
a
level, before the instantiation, does not exist in the early semanti s. Therefore
P and P are early bisimilar. For example the bottom alternative from P , going
1 2 2
through ! leading to if w = u then P fw=ug, is simulated by P going through
aw
1
! to 0.
aw
It is also possible to de ne the early bisimulation through the late semanti s.
Figure 1 and the de nition of late bisimulation provide the intuition: Consider
the part of the de nition ( lause (i)) whi h says
there should exist some Q0 su h that for all u ...
For early bisimulation, the orresponding part should say
for all u there should exist some Q0 su h that ...
This ommutation of the quanti ers weakens the statement, sin e the hoi e of
Q0 here an depend on u. And indeed, with it we obtain a bisimulation whi h
pre isely oin ides with early bisimulation:
De nition 4 An early bisimulation with late semanti s is a symmetri binary
relation R on agents satisfying the following: P RQ and P ! P 0 where bn( )
is fresh implies that

(i) If = a(x) then 8u 9Q0 : Q a(!


x) 0
Q ^ P 0 fu=xgRQ0 fu=xg
(ii) If is not an input then 9Q0 : Q ! Q0 ^ P 0 RQ0
It is then easy to prove that a relation is an early bisimulation pre isely when
it is an early bisimulation with late semanti s. So it is a matter of onvenien e
whi h of the two de nitions to use. The onverse idea (to apture late bisimilarity
using early semanti s) is however not possible.
Early bisimilarity satis es the same propositions as late bisimilarity in Se -
tion 6: it is preserved by inje tive substitutions and all operators ex ept input
44
Late input and instantiation:
u 0 u 0
x0 x0
a w 0 a w 0
P2 P1
u P fu=xg u P fu=xg
a a
xP xP
w P fw=xg w P fw=xg
a
u if u = u then P fu=xg
x if x = u then P
w if w = u then P fw=xg

Early input in ludes instantiation:


au 0 au 0
aw 0 aw 0
P2 P1
au au
aw P fu=xg aw P fu=xg
au P fw=xg P fw=xg
aw
if u = u then P fu=xg

if w = u then P fw=xg

Figure 1: The di eren e between late and early bisimilarity.


P = a(x) : P + a(x) : 0, and P = P + a(x) : if x = u then P .
1 2 1

45
Pre x; and early ongruen e  , de ned by P  Q if for all , P  _ Q, is
E E E
the largest ongruen e in _ . The proofs are very similar. Early ongruen e is
E
larger than late ongruen e, i.e.,  , and the example in Figure 1 suÆ es to
E
prove that the in lusion is stri t.
It is hard to imagine any pra ti al situation where the di eren e between
late and early ongruen e is important. Sin e the theoreti al properties are very
similar the hoi e between them is largely a matter of taste. It ould be argued
that early ongruen e to a higher degree onforms to our operational intuition,
and that the de nition is less omplex. On the other hand, late ongruen e seems
to lead to more eÆ ient veri ations in automated tools.
7.2 Barbed Congruen e
In some sense the notion of bisimilarity, be it late or early, assumes the observer
is unrealisti ally powerful: sin e there is a di eren e between the a tions au and
a u it is possible to dire tly dete t if an emitted name is lo al. It is therefore
natural to ask what is the e e t of redu ing this dis riminatory power. This
leads to the idea of barbed bisimulation where, intuitively, the observer is limited
to sensing if an a tion is enabled on a given hannel. Although barbed bisimilarity
is weaker (i.e., equates more agents) than early bisimilarity it turns out that the
ongruen e obtained from barbed bisimulation is the same as early ongruen e.
De nition 5 A name a is observable at P , written P # a, if a is the subje t of
some a tion from P . A barbed bisimulation is a symmetri binary relation R on
agents satisfying the following: P RQ implies that
(i) If P ! 
P 0 then 9Q0 : Q ! Q0 ^ P 0 RQ0
(ii) If P # a then Q # a
P and Q are barbed bisimilar, written P _ Q, if they are related by a barbed
B
bisimulation.
The idea behind a barbed bisimulation is that the only unquestionable exe-
ution steps are the internal ones, i.e., the  -a tions, sin e these do not require
parti ipation of the environment. Therefore labelled transitions are not needed
to de ne barbed bisimulation. It is enough with the redu tion relation of Se -
tion 5.4 and the observability predi ate, whi h like redu tions an be de ned
dire tly from the syntax as P # a if P ontains an unguarded Pre x with subje t
a not under the s ope of a Restri tion  a.
Barbed bisimilarity is uninteresting by itself. For example,
au _ av _ ( u)au
B B

identifying three learly di erent agents. Of more interest is the ongruen e it


generates.
46
De nition 6 Two agents P and Q are barbed ongruent, written P  B Q, if
for all ontexts C it holds that C (P ) _ B C (Q).

In other words, barbed ongruen e is the largest ongruen e in barbed bisimilar-


ity. Clearly the three agents above are not barbed ongruent. Take the ontext
C (P ) = P j a(x) : x
Then C (au) ! u # u and this annot be simulated by C (av) and not by
C (( u)au). In fa t barbed ongruen e oin ides with early ongruen e:
Proposition 6  = B E

This lends onsiderable support to early ongruen e as the natural equivalen e


relation. The main idea is to prove that  is an early bisimulation. Suppose
B
P  Q and P ! P 0 , then a ushioning ontext C an be found su h that
B
C (P ) ! C 0(P 0), so C (Q) must simulate this transition. But C is leverly on-
stru ted so that the only possible way that C (Q) an do this is be ause of a
transition Q ! Q0 . We shall not go further into the proof here whi h is quite

involved.
Variants of barbed ongruen e use variants of the observability predi ate,
leading to a spe trum of possibilities. For example, a weaker variant is to use
P # to mean 9a : P # a, and amend lause (ii) in the de nition of barbed
bisimilarity to P # i Q #. With this de nition Proposition 6 still holds, though
its ounterpart for weak bisimulation ( f. Se tion 7.4) is less lear. Omitting
lause (ii) entirely Proposition 6 no longer holds. For example, then ! jQ and
! jR would be barbed ongruent for all Q and R.
Also, in sub al uli of  the barbed ongruen e may be di erent (be ause
there are fewer ontexts). As one example, in the asyn hronous sub al ulus
(Se tion 3.5) and where observations P # a mean that P an do an output
a tion along a (in the asyn hronous al ulus it makes sense to regard inputs as
unobservable) it holds that
a(x) : ax +    B

7.3 Open Bisimulation


As has been demonstrated neither late nor early bisimilarity is a ongruen e; to
gain a ongruen e we must additionally require bisimilarity under all substitutions
of names. Interestingly, there is a way to de ne a ongruen e dire tly through
bisimulations. This is the idea behind open bisimulation, whi h in orporates the
quanti ation over all substitutions in the lause for bisimulation. This leads to
a ongruen e ner than late ongruen e (i.e., it equates fewer agents) although
that di eren e is not very signi ant in pra ti e.
47
To begin we onsider a sub al ulus without Restri tion and Mismat h. The
de nition will subsequently be extended to a ommodate Restri tion (no simple
extension for Mismat h is known).
De nition 7 A (strong) open bisimulation is a symmetri binary relation R on
agents satisfying the following for all substitutions  : P RQ and P  ! P 0 where
bn( ) is fresh implies that
9Q0 : Q ! Q0 and P 0RQ0
P and Q are (strongly) open bisimilar, written P _ Q, if they are related by an
O
open bisimulation.
A te hni al remark: the ondition on bn( ) is unne essary in view of the fa t
that we deal with a sub al ulus without Restri tion, but it is harmless and is
in luded for the sake of symmetry with other similar de nitions.
In open bisimulation there is no need for a spe ial treatment of input a tions
sin e the quanti ation over substitutions re urs anyway when further transitions
are examined: If P a ! x
( )
P 0 is simulated by Q ! Q0 , then the requirement implies
( )ax

that all transitions from P 0 must be simulated by Q0 for all , in luding those
substitutions that instantiate x to another name. This also demonstrates the
pertinent di eren e between open and late: where late requires the agents to
ontinue to bisimulate under all substitutions for the bound input obje t, open
requires them to bisimulate under all substitutions | not only those a e ting
the bound input obje t.
It is straightforward to show that an open bisimulation is also a late bisim-
ulation, and hen e P _ Q implies P _ Q. Furthermore, dire tly from the
O
de nition we get that open bisimilarity is losed under substitution, in the sense
that P _ Q implies P  _ Q; together these fa ts give us that P _ Q
O O O
implies P  Q. But the onverse is not true as demonstrated by the following
example:
Q   + :
R   +  :  +  : if x = y then 
Q and R are late ongruent. To see that Q is late bisimilar to R for all
 , onsider two possibilities for  . Either  (x) =  (y ), in whi h ase R !
if  (x) =  (y ) then  is simulated by Q !  ; or  (x) 6=  (y ), in whi h ase

it is simulated by Q ! 
0. But Q and R are not open bisimilar. To see this,
hoose  as the identity substitution and onsider R ! if x = y then  . There
are two possibilities for Q to make a  transition. One is Q ! 0. But then open
bisimulation requires that the two derivatives if x = y then  and 0 bisimulate
again under all substitutions  0 , and this does not hold for  0 = fx=y g sin e
(if x = y then  )fx=y g ! 0 whereas 0fx=yg has no transition. Similarly, the

other transition Q !  fails for the identity substitution, sin e if x = y then 

has no transition, in ontrast to  .
48
This example may seem arti ial and, as for the di eren e between late and
early, the di eren e between open and late is probably of little pra ti al signi -
an e. Open bisimilarity is an equivalen e and a ongruen e, so by analogy with
the other equivalen es, writing  for the largest ongruen e in _ , we get
O O
_ =  (the proofs are te hni ally similar to the proof for late ongruen e).
O O
It an also be hara terised in a few other informative ways. One is through
substitution losed ground bisimulations. A ground bisimulation is a relation R
satisfying
P RQ and P ! P 0 implies 9Q0 : Q ! Q0 and P 0RQ0
In other words, it does not introdu e substitutions at all. Now it holds that _
O
is the largest substitution losed (i.e., P RQ implies P RQ) ground bisimula-
tion. Another hara terisation is with dynami bisimulations: these are relations
satisfying
P RQ and C (P ) ! P 0 implies 9Q0 : C (Q) ! Q0 and P 0RQ0
for all ontexts C . It an be shown that dynami bisimilarity is the same as open
bisimilarity.
At rst it may seem that the Restri tion operator behaves well with open
bisimulation sin e the substitutions only a e t free names. Consider
P = ( x)if x = y then  and Q = 0
Neither P  nor Q have any transitions, for any substitution , sin e the sub-
stitution annot a e t the bound name x. Therefore P _ Q. Similarly with
O

P = ( x) : if x = y then  and Q = 


we have P _ Q, sin e P ! ( x)if x = y then  and this derivative is
O
similarly immune to substitutions. The problem arises be ause of bound output
a tions. Consider
P = ( x)ax : if x = y then  and Q = ( x)ax
Here P a!x if x = y then  . Clearly Q annot simulate by Q a!x 0 be ause
the two derivatives, if x = y then  and 0, are not bisimilar for the substitution
fx=yg. Here the bound output a tion has lifted the Restri tion so x be omes
vulnerable to a substitution.
But we would ertainly want to identify P and Q. The name x in P is a
lo al name and no matter what an environment does on re eiving it, that name
annot be ome the same as y, so the if test will never be positive. Also P and
Q are late ongruent. Therefore in the presen e of Restri tion, De nition 7 is too
dis riminating: it onsiders too many substitutions.
49
One way to amend it is to use the auxiliary on ept of distin tions. The
intuition behind a distin tion is to re ord those pairs of names that will always
be distin t, no matter what a tions take pla e. De nition 7 is modi ed so that
it only onsiders substitutions that respe t distin tions, in the sense that two
names required to be distin t are not substituted by the same name. Following
a bound output transition the derivatives are related under a larger distin tion,
representing the fa t that the bound obje t will be kept di erent from any other
name.
Formally a distin tion is a symmetri and irre exive binary relation on names.
In the following we let D range over nite distin tions (in nite distin tions are
not ne essary and may ause problems with alpha- onversion if they in lude all
names). We say that a substitution  respe ts a distin tion D if aDb implies
 (a) 6=  (b). We further let D be the relation f( (a);  (b)) : aDbg. When N is
a set of names we let D + (x; N ) represent D [ (fxg  N ) [ (N  fxg), in other
words it is D extended with the fa t that x is distin t from all names in N .
De nition 8 A distin tion-indexed family of binary relations on agents is a
set of binary agent relations RD , one for ea h distin tion D. A (strong) open
bisimulation is su h a family satisfying the following for all substitutions  whi h
respe t D: P RD Q and P  ! P 0 where bn( ) is fresh implies that
(i) If = a x then 9Q0 : Q a!x Q0 ^ P 0 RD Q0 0

where D0 = D + (x; fn(P ; Q ))


(ii) If is not a bound output then 9Q0 : Q ! Q0 ^ P 0 RD Q0
P and Q are open D-bisimilar, written P _ D Q, if they are related by RD in
an open bisimulation, and they open bisimilar, written P _ Q if they are open
O

O
;-bisimilar.
Here the proviso that bn( ) is fresh means it is not in fn(P ; Q). The over-
loading of \ _ " is motivated by the fa t that for the sub al ulus without
O
Restri tion de nitions 7 and 8 oin ide. In essen e, the distin tion keeps tra k
of what substitutions are admissible, ex luding those that do not respe t the dis-
tin tion. After any a tion ex ept a bound output, the distin tion re urs in that
the substituted names must still be distin t. After a bound output, additionally
the bound obje t must be distin t from any free name in the involved agents.
As an example we an now demonstrate that P _ Q where
O

P = ( x)ax : if x = y then  and Q = ( x)ax


Consider the transition P a!x if x = y then  and the simulating transition
Q a!x 0. The de nition then requires, by lause (i), that if x = y then  _ D 0
for D = f(x; y); (y; x)g and this is indeed the ase: for a substitution  respe ting
O

D, the agent (if x = y then  ) has no transitions.

50
_ = 
O O

_
 =
E B

_ E

_ B

Figure 2: Barbed, early, late and open bisimilarity and the orresponding on-
gruen es. An arrow means stri t in lusion, and when it goes from the left olumn
to the right it also means \largest ongruen e in".
Distin tions will however not admit Mismat h in a sensible way. For example,
we would want to equate the agents
if x 6= y then  : if x 6= y then  and if x 6= y then  : 
but the requirement that derivatives bisimulate under all substitutions will make
them inequivalent. In order to admit Mismat h a more fundamental rede ni-
tion of the semanti s is ne essary, where the Mismat h is expli itly noted in the
transition, for example by using a symboli semanti s as in Se tion 5.2.
In on lusion, the de nition of _ loses some of its simpli ity in the presen e
O
of Restri tion and it is still not appli able with Mismat h. It gains interest in
that it appears more eÆ ient for automati veri ation and in that distin tions
sometimes have an independent motivation to represent \ onstant" names su h
as values in some global data type or ports whi h are ne essarily distin t. For
example, if Booleans are represented by two globally available names t and f then
learly it is uninteresting to onsider substitutions making them equal. Similarly,
the question whether a bu er B (i; o) with input port i and output o behaves as
another bu er B (i; o) might be relevant only for the ase that i 6= o.
2
The various de nitions of strong bisimilarity and ongruen e are related in
Figure 2. In summary, barbed bisimilarity is mu h too weak to be interesting,
51
while the di eren e between early and late is very small and has to do with the
pre ise interpretation of input transitions. Barbed ongruen e is the same as
early ongruen e. The early and late ongruen es are obtained as bisimilarity for
all substitutions, and again the di eren e between them is small. Open bisimi-
larity (de ned only for the sub al ulus without Mismat h) is a ongruen e and
is more dis riminating than late ongruen e sin e it requires bisimilarity for all
substitutions after every transition.
7.4 Weak Bisimulation
The main idea of weak bisimulation is that  transitions are regarded as un-
observable. We therefore de ne =) to mean ( !), i.e., zero or more  tran-
sitions, = ) to mean =) !=), and = b) to mean = ) if 6=  and =) if
=  . The intention is to modify strong bisimilarity in the standard way, re-
pla ing ! by = b). The only ompli ation is in the treatment of input a tions.
These all for substitutions of the bound obje t, and when simulating a(x) by
!

 ! ! !    ! it turns out to be important that the substitution is
 ax 
( )

applied immediately after the input a tion a !


x
, before further  transitions.
( )

De nition 9 A weak (late) bisimulation is a symmetri binary relation R on


agents satisfying the following: P RQ and P ! P 0 where bn( ) is fresh implies
that
(i) If = a(x) then 9Q00 : Q =) a(!
x) 00
Q ^
8u9Q : Q00fu=xg =) Q0
0 ^ P 0fu=xgRQ0
(ii) If is not an input then 9Q0 : Q = b) Q0 ^ P 0 RQ0
P and Q are weakly (late) bisimilar, written P _ Q, if they are related by a weak
bisimulation.

Clause (i) says how an input transition should be simulated: rst do any number
of  , then the input rea hing Q00, and then, for ea h name u re eived, ontinue to
some Q0. The e e t is that the hoi e of Q00 is independent of u, and the hoi e
of Q0 may depend on u. Let us see an example of the signi an e of this:
P = a(x) : if x = v then P + a(x) : ( +  : P +  : if x = v then P )
1
P =
2 a(x) : ( +  : P +  : if x = v then P )
P =
3 a(x) : ( +  : P )
First, observe that P is even strongly bisimilar to P , sin e
2 3

 +  : P   +  : P +  : if x = v then P

52
(any substitution makes the third summand behave as one of the rst two). Now
onsider a transition
P ! if x = v then P
ax ( )
1

Can P simulate this? Yes, by the transition


2

P a!x
2  +  : P +  : if x = v then P
( )

and now applying fu=xg by one  -transition to (if x = v then P )fu=xg. Sin e
P  P we also expe t P to simulate it, and this requires the full glory of lause
2 3 3
(i), with di erent Q0 for di erent u. The simulating transition is
P !  + :P
ax ( )
3

and now applying fu=xg, by one  transition to either P or 0, depending on if


u = v or not. So here we have P _ P _ P . 1 2 3
This example also highlights why a simpli ation of lause (i) to
9Q0 : Q =a )x
Q0 ^ 8u : P 0 fu=xgRQ0 fu=xg
( )

fails. With su h a lause we would have that P _ P and P _ P , yet P 6_ P .


1 2 2 3 1 3
In other words, weak bisimilarity would not be transitive. The reason is that P 3

no longer an simulate P a ! x
1 if x = v then P , sin e neither 0, P , nor  +  : P
( )

is bisimilar to if x = v then P for all substitutions of x. b


Another attempt at simpli ation is to repla e ! by =) everywhere, also
in the ante edent:
ad ad
P RQ and P =) P 0 where x is fresh implies that 9Q0 : Q =) Q0 and
x
( ) x ( )

8u : P 0fu=xgRQ0fu=xg
Then the so de ned weak bisimilarity would be transitive. But it is inadequate
for another reason. Consider
P = a(x) : if x 6= v then (P +  : if x 6= v then R)
1
P = a(x) : if x 6= v then (P +  : R)
2

Here P and P are even strong late bisimilar. But with the attempted simpli a-
1 2

tion they would not be weak late bisimilar sin e P =a ) x


if x 6= v then R annot
1
( )

be simulated by P .
So it seems that lause (i) in De nition 9 is unavoidable. Then _ is an equiv-
2

alen e and every strong bisimulation is also a weak bisimulation, as expe ted. Of
ourse _ is not a ongruen e, for two independent reasons. The rst is that it
is not preserved by input Pre x, similarly to the situation for _ . The se ond
is that it is not preserved by +, similarly to the situation for observation equiva-
len e in CCS. These two on erns an be addressed independently in the standard
ways: as in Se tion 6 losure under all substitutions is required to preserve input,
and as in CCS simulating an initial  transition by =) (rather than =)) gives a
relation preserved by +. In on lusion weak late ongruen e is de ned as follows.
53
De nition 10 P and Q are weak (late) ongruent if, for all substitutions  ,
P  ! P 0 where bn( ) is fresh implies that
(i) If = a(x) then 9Q00 : Q =) a(!
x) 00
Q ^
8u9Q : Q fu=xg =) Q0
0 00 ^ P 0fu=xg _ Q0
(ii) If is not an input then 9Q0 : Q = ) Q0 ^ P 0 _ Q0
and onversely Q ! Q0 implies similar transitions from P .

Other strong bisimulation equivalen es also have weak ounterparts in a sim-


ilar way. For example weak early bisimilarity is obtained by repla ing Q ! Q0
in De nition 3 by Q = b) Q0; sin e there are no bound inputs, the ompli ation
with lause (i) in De nition 9 above does not arise. Weak barbed ongruen e
is obtained by repla ing Q ! Q0 by Q =) Q0 and Q # a by Q =)# a in
De nition 5. The weak barbed ongruen e oin ides with weak early ongruen e
for image- nite agents (this is a mild te hni al ondition whi h roughly means
that the agent an only rea h a nite number of di erent derivatives after = )).
Also weak open bisimulation is obtained by repla ing Q ! Q0 by Q = b) Q0
in De nition 7.

8 Algebrai Theory

In this se tion we onsider algebrai axiomatisations of late strong bisimilarity


and ongruen e. This means that we identify a set of axioms for equality between
agents, and that together with equational reasoning these imply all true equalities.
We get one su h set of axioms for bisimilarity and another set for ongruen e.
These results only hold for the nite sub al ulus, i.e., we do not in lude Identi ers
or Repli ation. (In the whole al ulus su h a result annot be obtained sin e
bisimilarity, and also ongruen e, is not re ursively enumerable and hen e has no
de idable axiomatisation.)
8.1 Bisimilarity
Initially we restri t attention to the nite sub al ulus without Parallel ompo-
sition. The axioms for strong late bisimilarity are given in Table 6. We also
impli itly use the laws of equational reasoning, i.e., that equality between agents
is re exive, symmetri and transitive. Note that substitutivity (that an agent
an repla e an equal agent in any expression) is not implied, sin e bisimilarity is
not a ongruen e.
The axioms deserve little omment. str says that all laws for stru tural on-
gruen e an be used. ongr1 says that all operators ex ept input Pre x preserve

54
str If P  Q then P = Q
ongr1 If P = Q then au : P = au : Q
 :P =  :Q
P +R =Q+R
( x)P = ( x)Q
ongr2 If P fy=xg = Qfy=xg for all y 2 fn(P; Q; x) then a(x) : P = a(x) : Q
s P +P = P
m1 if x = x then P = P
m2 if x = y then P = 0 if x 6= y
mm1 if x 6= x then P = 0
mm2 if x 6= y then P = P if x 6= y
r1 ( x) : P = : ( x)P if x 62
r2 ( x) : P = 0 if x is the subje t of
r3 ( x)(P + Q) = ( x)P + ( x)Q
Table 6: Axioms for strong late bisimilarity.
bisimilarity, and ongr2 says that to infer bisimilarity of input Pre xes it is suf-
ient to establish bisimilarity under substitutions for the bound obje t. Note
that ongr2 mentions only a nite number of su h substitutions: names free in
the agents under onsideration plus one more name represented by x. In view of
Proposition 2 this is suÆ ient sin e all other names an be obtained through an
inje tive substitution on x. Laws m1{mm2 serve to evaluate if onstru ts, and
therefore a lause for Mat h and Mismat h in ongr1 is unne essary. The reader
may remember from Se tion 5.1 that mm2 is not admissible in the stru tural on-
gruen e and may therefore be surprised to see this apparently unsuitable law in
Table 6. The explanation is that mm2 is unsuitable for a ongruen e, sin e pre-
guring both sides of it by an input pre x may invalidate it, and that bisimilarity
is not a ongruen e; pre guring with an input pre x requires the law ongr2.
r1{r2 mean that a Restri tion an be pushed through a Pre x or disappear;
the only ex eption is when x is the free obje t of in whi h ase neither r1 nor
r2 applies. Observe that r1 an be regarded as s ope extension over Pre x; as
was mentioned in Se tion 2.2 an option is to have this law as part of the stru tural
ongruen e. Finally r3 means that Restri tion distributes over Sum. This law is
more powerful than s ope extension over sum, sin e it splits one binder into two.
It is easily seen that all laws are sound, so if P = Q is provable then it must
hold that P _ Q. We shall now also prove the onverse. In the following it is
important to remember that ranges also over bound output Pre xes of kind
a x. Let the depth of an agent be the maximal nesting of its Pre xes.

55
exp Let P = Pi i : Pi and Q = Pj j : Qj where bn( i ) \ fn(Q) = ; and
bn( j ) \ fn(P ) = ; for all i; j , and none of i or j is a bound output Pre x.
Then X : (P jQ) + X : (P jQ ) + X  : R
P jQ = i i j j ij
i j i omp j
where the relation i omp j and Rij are de ned as follows: either i = a(x) and
j = au in whi h ase Rij = Pi fu=xgjQj , or onversely i = au and j = a(x) in
whi h ase Rij = PijQj fu=xg.
Table 7: Expansion law for strong bisimilarity.
Proposition 7 Using the axioms Pin Table 6 every agent P is provably equal to
a head normal form (hnf) of kind i i : Pi of no greater depth.
The proof is by indu tion over the stru ture of the agent and all ases are easy.
If P is a Mat h or Mismat h then m1{mm2 applies; if it is a Restri tion then
r3 is used to distribute it onto the summands and r1{r2 to push it through the
Pre xes or form part of a bound output Pre x.
Proposition 8 If P _ Q then P = Q is provable from the axioms in Table 6.
The proof is by indu tion on the depths of P and Q. By Proposition 7 we an
assume P and Q are head normal forms. The base ase P = Q = 0 is trivial.
For the indu tive step we prove that for ea h summand in P there is a provably
equal summand in Q and vi e versa. For example, take a summand a(x) : P 0 in
P . Assume by alpha- onversion that all top-level input a tions have the same
bound obje t x. Then from P _ Q and P a ! x
( )
P 0 we get Q ! Q0 su h that
ax( )

P 0 fu=xg _ Q0 fu=xg for all u. By indu tion they are also provably equal for all
u. So a(x) : Q0 is a summand of Q and from ongr2 we get that it is provably
equal to a(x) : P 0. The other ases are similar and simpler. So, ea h summand
of P is provably equivalent to a summand of Q and therefore, by the law s (and
str), P is provably equivalent to Q.
We now turn to the Parallel operator. The idea behind the axiomatisation is to
introdu e an expansion law through whi h the omposition of two head normal
forms is provably equal to a head normal form. With this law Proposition 7
will ontinue to hold for the al ulus with Parallel, and therefore the proof of
Proposition 8 needs not hange. The expansion law is given in Table 7.
The proof of Proposition 7 is now extended with an indu tive step for P = QjR
where Q and R are hnfs. First use s ope extension (Proposition 1) to pull any un-
guarded Restri tions in QjR to top level, obtaining an agent of kind ( x~)(Q0jR0)
where Q0 and R0 are hnfs with no bound output Pre xes. Then apply exp to
Q0 jR0 gaining an agent of type ( x~)P 0 where P 0 is a hnf, and nally use s ope
extension to push ba k the Restri tions inwards, gaining a hnf.
56
8.2 Congruen e
Following De nition 2 we immediately obtain an axiomatisation of  by adding
that de nition as a law. Interestingly, there is an alternative axiomatisation
that does not involve quanti ation over substitutions and does not refer ba k to
bisimilarity. Again we begin with the sub al ulus without Parallel.
It is informative to begin by examining the axioms in Table 6 to see what needs
to hange. The rule str is still valid and useful, and the rules ongr1{ ongr2
an be repla ed by a simpler rule saying that  is a ongruen e. The problemati
laws are m2 and mm2 whi h are unsound for ongruen e. For example, even
though if x = y then P and 0 are bisimilar when x 6= y they are not ne essarily
ongruent sin e a substitution fx=yg makes them non-bisimilar. In an axiom
system for  we annot rely on axioms whi h eliminate unguarded Mat h and
Mismat h operators.
A on ise presentation of the axioms depends on the notion of a Generalised
mat h operator written if M then P , where M is a onjun tion of onditions of
type x = y and x 6= y. The Generalised mat h is simply de ned to be a nested
sequen e of Mat hes and Mismat hes, one for ea h ondition:
if m ^    ^ mk then P = if m then (   (if mk then P )   )
1 1

where ea h mi is of type x = y or x 6= y. We say that M logi ally implies N if all


substitutions that make the onditions in M true also make the onditions in N
true, and that they are logi ally equivalent, written M , N , if they imply ea h
other. This allows us to use the ompa t law gm1:
if M then P = if N then P if M , N
in pla e of a set of laws for nestings of Mat hes and Mismat hes. The axioms for
strong late ongruen e are given in Table 8.
We omment brie y on the new axioms. gm2 is a form of ase analysis,
allowing us to split an agent to a Sum of two mutually ex lusive onditions.
Writing out the de nition of if ...then ...else this law is
if x = y then P + if x 6= y then P = P

gm3 is a kind of distributive law for Generalised mat h over Sum. gm4 says
that a test, on e passed, an be done again after an a tion , sin e that a tion
annot invalidate the out ome of the test. Here the side ondition on bn( ) is
important. gm5 embodies the essen e of a mat h: if x and y have been deemed
equal then one an substitute the other (the substitution is de ned to not a e t
bn( )). Sin e x = y , y = x we get from gm1 that it does not matter whether
the substitution is fy=xg or fx=yg. And ombined with gm3 and gm4 we get all
instan es of a stronger law if x = y then : P = if x = y then ( : P )fx=yg
where the substitution a e ts the whole Pre x form. Finally gm6 is the essen e
57
str If P  Q then P = Q
ongr \=" is preserved by all operators
s P +P = P
mm1 if x 6= x then P = 0
gm1 if M then P = if N then P if M , N
gm2 if x = y then P else P = P
gm3 if M then (P + P ) = if M then P + if M then P
1 2 1 2
gm4 if M then : P = if M then ( : if M then P ) if bn( ) 62 M
gm5 if x = y then : P = if x = y then ( fx=y g) : P
gm6 ( x)if x = y then P = 0 if x 6= y
r1 ( x) : P = : ( x)P if x 62
r2 ( x) : P = 0 if x is the subje t of
r3 ( x)(P + Q) = ( x)P + ( x)Q
Table 8: Axioms for strong late ongruen e.
of Restri tion: a restri ted name an never be made equal to another name so
the Mat h will always ome out as false.
As an be seen the law mm1 is inherited from the axioms for bisimilarity. Of
ourse also m1 is valid but it is not ne essary as an axiom sin e it an be derived
from gm2 and mm1. Similarly, a ounterpart for Mismat h to gm6, namely
gm6* ( x)if x 6= y then P = ( x)P if x 6= y
is derivable from gm2 and gm6. Thus a Restri tion an always be pushed through
a generalised mat h. Also, note that if x = y then 0 = 0 is derivable from mm1
and gm2.
For an example of a derivation onsider ( x)ax : if x = y then P whi h, as
argued in Se tion 7.3, is ongruent to ( x)ax : 0. The proof from axioms is:
( x)ax : if x = y then P = [gm6℄
( x)if x 6= y then ax : if x = y then P = [gm4℄
( x)if x 6= y then ax : if x 6= y then if x = y then P = [gm6℄
( x)ax : if x 6= y then if x = y then P =
( x)ax : if x 6= y ^ x = y then P = [gm1℄
( x)ax : if x 6= x then P = [mm1℄
( x)ax : 0
It is easy to establish that all laws are sound for ongruen e. The proof of
ompleteness uses another kind of head normal form and is more involved than
the orresponding proof for bisimilarity, and we shall here only sket h it. It relies
58
on the notion of omplete onjun tions. Formally, a onjun tion M is omplete
on a set of names V if M implies either x = y or x 6= y for all names x; y in V . In
other words, M expresses unambiguously whi h names are the same and whi h
are not. We say that M agrees with a substitution  if M implies x = y if and only
if (x) = (y). The main use of omplete onjun tions is that if M is omplete
on fn(P; Q) and agrees with , then (if M then P )  (if M then Q) holds if
and only if P  _ Q. In this way the substitutions arising from the transitional
semanti s an be internalised and represented by Generalised mat hes.
De nition 11 P is in head normal form on a nite set of names V (V -hnf) if
P =
X if M then : P
i i i
i

where for all i, bn( i ) 62 V , and ea h Mi is omplete on V .

So a V -hnf is a Sum of Generalised mat hes where ea h onjun tion is omplete


on V .
Proposition 9 For any V , any agent P is provably equivalent to a V -hnf of no
greater depth.
The proof is by indu tion overPthe stru ture of P . If P = : P 0 then use gm2
repeatedly to generate a Sum i if Mi then : P 0Pwhere the Mi are omplete.
If P = ( x)P 0 then by indu tion P 0 is a V-hnf i if Mi then i : Pi. Use
r3 to distribute ( x) onto all summands, gm6 and gm6* and str to push the
Restri tion through all Mi and nally r1{r2 to push it through all i (unless x
is the free obje t of i, in whi h ase ( x) forms part of a bound output Pre x).
The other ases are simple from the distributive laws.
Proposition 10 If P  Q then P = Q is provable from the axioms in Table 8.
The proof is by indu tion on the depths of P and Q and by the previous propo-
sition we an assume that P and Q are fn(P; Q)-hnfs. The idea of the indu tive
step is as before to show that for ea h summand in P there is a provably equal
summand in Q. We indi ate the main lines for free output summands|the ase
for bound a tions is a little bit more involved though the idea is the same. So
let if M then : P 0 be a summand in P with  a free output a tion. Choose a
substitution  that agrees with M . Then P  ! P 0. From P  Q we get that
Q must simulate this transition. Let if N then : Q0 be the summand of Q
that generates the simulating transition, whi h implies that P 0 _ Q0. Then N
also agrees with , and sin e both M and N are omplete and agree with  we get
M , N . Therefore by gm1 we an repla e N by M in the summand of Q. And
by gm5 we an repla e by , be ause they an only di er in names identi ed
by , meaning that M implies the equality of those names. There thus remains
59
exp2 Let P = Pi if Mi then i : Pi and Q = Pj if Nj then j : Qj where
bn( i ) \ fn(Q) = ; and bn( j ) \ fn(P ) = ; for all i; j , and none of i or j is a
bound output Pre x. Then
P jQ =
X if M then : (P jQ) + X if N then : (P jQ )
i i i j j j
i X j
+ if Mi ^ Ni ^ ai = bj then  : Rij
i opp j

where the relation iopp j , ai, bj and Rij are de ned as follows: either i = ai(x)
and j = bj u in whi h ase Rij = Pifu=xgjQj , or onversely i = aiu and
j = bj (x) in whi h ase Rij = Pi jQj fu=xg.
Table 9: Expansion law for strong ongruen e.
to prove if M then : P 0 = if M then : Q0 . We know that P 0 _ Q0. Sin e
M is omplete it holds that this implies if M then P 0  if M then Q0 , when e
by indu tion these are provably equivalent. We now apply gm4 (for the rst time
in the proof!) to write if M then : P 0 as if M then : if M then P 0. That
means it is provably equivalent to if M then : if M then Q0 , and again by
gm4 to if M then : Q0 .
Finally we onsider also the Parallel operator. By analogy with the ase for
bisimilarity it is enough to in lude an axiom whi h implies that the Parallel om-
position of two V -hnfs is a V -hnf. Unfortunately the axiom exp in Table 7 is not
sound for ongruen e, sin e a substitution may identify two names and thereby
enable a ommuni ation. The amended expansion law for ongruen e is given
in Table 9. Note the essential use of Mat hes to determine if a ommuni ation
is possible. With this law propositions 9 and 10 hold. In identally, the law is
sound and omplete also for bisimilarity, i.e., it an be used in pla e of exp for
the purpose of Proposition 8.

9 Variants of the Theory

We here brie y mention the axiomatisations of the equivalen es treated in Se -


tion 7.
9.1 Early Bisimilarity and Congruen e
Early bisimilarity equates more agents than late and therefore we seek more
axioms. It turns out that we need to add only one axiom to Table 6 to obtain a
omplete system. This hara teristi axiom for early is:
early a(x) : P + a(x) : Q =
a(x) : P + a(x) : Q + a(x) : if x = y then P else Q
60
The example from Se tion 7.1:
P = a(x) : P + a(x) : 0; P = a(x) : P + a(x) : 0 + a(x) : if x = u then P
1 2

is an instan e of early with Q = 0. So learly this axiom is unsound for late


bisimilarity. The soundness for early bisimilarity is straightforward from the
de nition.
If early is adjoined to Table 6 we get a omplete axiomatisation of early
bisimilarity. The proof of this is di erent from the orresponding proof of Propo-
sition 8 sin e it is no longer the ase that ea h summand of P has a bisimilar
summand of Q. Therefore, the hnfs orresponding to P and Q must rst be satu-
rated by applying early, from left to right, as mu h as possible to generate new
summands. Although the axiom an be applied ad in nitum it turns out that
there are only a nite number of distin t new summands that need be generated
this way. If instead early is adjoined to Table 8 then we similarly get a omplete
axiomatisation of early ongruen e. The proof is a ombination of the above idea
and the proof of Proposition 10.
Interestingly, there is an alternative to early as a hara teristi law for early
ongruen e, namely
P P
early2 if i  : Pi = j  : Qj then
Pi a(x) : Pi = Pj a(x) : Qj
We an see that early and early2 are equipotent as follows. Consider
 : P +  : Q =  : P +  : Q +  : if x = y then P else Q
This equation is ertainly true for , sin e any substitution will make the third
summand behave as either  : P or  : Q. Hen e all instan es are derivable from
the laws in Table 8. Applying early2 to the equation we get early. So any
equation that an be derived with early an also be derived with early2. The
onverse follows by the fa t that early yields a omplete axiomatisation for  E
and early2 is sound.
Similarly, a version of early2 for early bisimilarity is
early20
if 8u : Pi  : Pifu=xg = Pj  : Qj fu=xg then Pi a(x) : Pi = Pj a(x) : Qj
This may appear more ompli ated than early but it also repla es ongr2
and an interesting point is that it does not introdu e a Mismat h operator. In
the sub al ulus without Mismat h we an therefore axiomatise late and early
bisimilarity (just drop mm1 and mm2 from Table 6). In ontrast, for late and early
ongruen e the Mismat h operator plays a signi ant role in forming omplete
Generalised mat hes, so axiomatisations without Mismat h must take a di erent
route.
61
9.2 Open Bisimilarity
The remaining interesting equivalen e in Figure 2, open bisimilarity (whi h also
is open ongruen e), is spe ial in that it is only de ned for the sub al ulus with-
out Mismat h. The way to axiomatise it goes through the relations _ D (open
bisimilarity under distin tion D) so the axiomatisation s hemati ally gives rules
O

for all D. The axioms in Table 8 need some modi ations. All axioms mention-
ing Mismat h are dropped; this means that mm1 and gm2 are omitted and in
gm1,3,4 M ranges over Generalised mat hes with no negative onjun ts. A new
axiom
gm7 P + if x = y then P = P
is added (in the original Table 8 this is derivable through s and gm2). Finally
for the interplay between di erent distin tions we add the following laws, where
=D means provable equality under distin tion D,
d1 if x = y then P =D 0 if xDy
d2 P =D Q implies P =D Q 0 if D  D0
d3 P =D Q implies ( x)P =D x ( x)Q
Here D x means the distin tion where all pairs ontaining x are removed from
D. Be ause of these laws gm6 is derivable and needs not be taken as an axiom.
With these hanges we obtain a omplete axiomatisation of _ D for all D.
The proof is substantially more ompli ated than for Proposition 10. It uses a
O

notion of head normal form with summands of type if M then : P , and with
the extra requirement that there are no unne essary summands (a summand P
is unne essary if there is another summand Q and Q _ Q + P ). The proof
O
that all agents are provably equal to su h head normal forms uses, among other
things, the new law gm7 in order to remove unne essary summands. The idea
of the ompleteness proof is that given two bisimilar head normal forms, ea h
summand in one of them is provably equal to a summand in the other.
9.3 Weak Congruen e
Finally, for the weak late and early ongruen es (axiomatisations of weak open
ongruen e have not yet been investigated) it is enough to add the three standard
so alled  -laws:
t1 : :P = :P
t2 P + :P =  :P
t3 : (P +  : Q) = : (P +  : Q) + : Q
The proof follows the same lines as the orresponding proof in CCS: the head
normal forms must be saturated in the sense that if P = ) P 0 then P has a
summand : P 0. To see an example derivation whi h demonstrates the subtlety
62
strong bisimilarity strong ongruen e weak ongruen e
Table 8
late Table 6 Table 8 and
t1, t2, t3
Table 8
Table 6 Table 8 and
early and and early or early2
early or early20 early or early2 and
t1, t2, t3
Table 8 ex ept laws for Mismat h
open and not investigated
gm7, d1, d2, d3

Table 10: Axiomatisations of the bisimilarities and ongruen es.


of the interplay between  -a tions and the laws for Mat h and Mismat h, and
highlights a te hnique used in the ompleteness proof, suppose we want to prove
a(x):(P + if x = y then  : P ) = a(x) : P
Clearly this holds, sin e (P + if x = y then  : P )fu=xg is weakly bisimilar
to P fu=xg for all u. The ompli ation is that (P + if x = y then  : P ) is
not weakly ongruent to P , sin e the former has an initial  -transition for the
substitution fy=xg. The proof te hnique is therefore to rst infer
 : (P + if x = y then  : P ) =  : P
and then use ongr, pre xing both sides by a(x), and t1 to remove the  . The
inferen e of  : (P + if x = y then  : P ) =  : P is as follows:
 : (P + if x = y then  : P ) = (gm2)
if x = y then  : (P + if x = y then  : P )
+ if x 6= y then  : (P + if x = y then  : P ) = (gm1; 3; 4)
if x = y then  : (P +  : P ) + if x 6= y then  : P = (t2)
if x = y then  :  : P + if x 6= y then  : P = (t1)
if x = y then  : P + if x 6= y then  : P = (gm2)
 :P
The di erent axiomatisations are summarised in Table 10.
63
10 Sour es

Early Developments
Computational models where mobility plays a predominant role have been present
at least sin e the mid 1970's in the so alled a tor systems by Carl Hewitt and
Gul Agha [18, 2℄. Te hni ally the - al ulus has its roots in pro ess algebras
like Robin Milner's CCS, originally developed in the late 1970's [22, 23℄. The
rst e orts to extend CCS with the ability to pass ommuni ation hannels were
by Egidio Astesiano and Elena Zu a (1984) and by U e Engberg and Mogens
Nielsen (1986) [4, 12℄. These al uli turned out to be quite omplex. The -
al ulus in its present form was developed in the late 1980's by Milner, David
Walker and myself; it was rst presented at seminars in 1987, the rst ompre-
hensive te hni al reports appeared in 1989 and the journal publi ation in 1992
[30℄. It builds on the arti le by Engberg and Nielsen, and simpli es it by using
a single synta ti al lass of names to represent values, variables and hannels.
There it is shown how to en ode data types and a version of the lambda al ulus;
it also explores the operational semanti s (late semanti s without use of stru -
tural ongruen e), de nes late and early bisimilarity and ongruen e and gives
the axiomatisation of late bisimilarity. The al ulus is very similar to the one
presented here, though there is no Mismat h operator and some di eren es in
notation. For example Restri tion ( x) is written (x), and if x = y then P is
written more ompa tly [x = y℄P , a notation that many papers on the - al ulus
follow.
Introdu tions and Overviews
Today the - al ulus and related theories make up a large and diverse eld with
hundreds of published papers. Perhaps the main sign of vitality is not the the-
oreti al developments, but rather the numerous al uli, omputational models
and languages that borrow semanti s or entral on epts from  and are aimed
at more fo ussed areas of appli ation, su h as PICT, Fa ile, Join, Ambients, Spi,
POOL,...the list an be made very long [45, 46, 8, 15, 11, 1, 57℄. A brief overview
from 1998 by Uwe Nestmann and Bjorn Vi tor indi ate the main issues and is
a ompanied by a well maintained and exhaustive sear hable on-line bibliography
founded in 1995 [35℄. Nestmann also urrently maintains the web page Cal uli
for Mobile pro esses at
http://www. s.au .dk/mobility/

with links to introdu tory papers, a tive resear hers, departments, proje ts and
other resour es. In view of these e orts it seems ex essive to here attempt a
substantial overview or list of referen es. If a single introdu tory arti le for the
layman should be mentioned it must be Milner's 1991 Turing Award Le ture [26℄.
64
A new omer to the eld may also appre iate my arti le from 1993 using graphs
instead of formulas, with an emphasis on how various basi omputational stru -
tures are represented through name-passing [39℄. Otherwise a standard text is
Milner's tutorial on the polyadi - al ulus (1991), and also his re ent book
(1999) is aimed at a non-spe ialist audien e [27, 29℄. A short introdu tion to a
simple variant of the - al ulus in omparison to the lambda- al ulus is given by
Benjamin Pier e (1996) [43℄.
A reader seeking more detailed information on erning some spe i topi is
well advised to rst onsult Kohei Honda's annotated on-line bibliography (rea h-
able from the URL above); it is not exhaustive and not updated as frequently as
the one by Nestmann and Vi tor, but fo uses on a few entral issues and explains
the impa t of ea h paper.
Below I brie y mention the main sour es for the aspe ts of the al ulus elab-
orated in this introdu tion. The hronology refers to the rst written a ount
of a pie e of work known to me; the orresponding onferen e paper or journal
arti le is often published a ouple of years later.
Variants of the Cal ulus
The Mismat h operator rst appeared in 1990 and was used by Davide Sangiorgi
and me in 1993 [38, 41℄. The role of the Sum operator has been studied by Catus-
ia Palamidessi (1997) where she shows that it is ne essary for the representation
of ertain distributed algorithms, and by Nestmann (1997) and Nestmann and
Pier e (1996) where en odings of Sum for spe ial ases are analysed (the en oding
in Se tion 3.5 omes from the latter arti le) [37, 33, 34℄. The polyadi al ulus
with the sort system given in Se tion 3.3 was introdu ed by Milner in his 1991
tutorial. The ideas for en oding the polyadi al ulus into the monadi have
been known sin e the rst papers on the - al ulus but were not studied in detail
until 1996 by Nobuko Yoshida and 1998 by Paola Quaglia and Walker [58, 47℄.
Type inferen e algorithms were rst presented independently by Simon Gay and
by Vas o Vas on elos and Honda in 1993 [16, 55℄. More elaborate systems for
types and sorts have been presented by many others. Prominent issues are more
re ned types, for example distinguishing di erent uses of a hannel for input
and output, subtyping, polymorphism and higher-order types. A survey of su h
systems remains to be written although Honda's bibliography mentioned above
explains many of the ontributions. The slides of a good introdu tory tutorial by
Pier e (1998) are available on-line from the author's home page (rea hable from
the URL for the mobility home page above) [44℄.
Repli ation in pla e of re ursion was rst suggested by Milner in a paper
on en odings of the lambda- al ulus 1990, and although the relationship between
lambda and  has subsequently been treated by many authors that paper remains
the prin ipal referen e [25℄. The issue is to some extent onne ted to higher-
order pro ess al uli. Bent Thomsen, Gerard Boudol and Flemming Nielson
65
were the rst to study su h al uli in detail (independently 1989, these al uli
di er signi antly from the - al ulus) [53, 9, 36, 54℄. The onne tion with the
lambda- al ulus was later lari ed by Sangiorgi, who also studied the en oding
of the higher-order - al ulus into the standard al ulus [49℄.
The signi an e of the asyn hronous al ulus was dis overed independently by
Kohei Honda and Mario Tokoro 1991 and by Boudol 1992 [19, 10℄. A parti ularly
interesting variant is the sub al ulus without free output a tions, whi h has a
simpler theory and retains a surprising expressive power, as demonstrated by
Sangiorgi and Mi hele Boreale (1996) [50, 6℄. Sangiorgi has re ently written a
tutorial on the subje t [52℄.
Variants of the Semanti s
The rst presentation of a stru tural ongruen e and redu tion semanti s is by
Milner (1990) [25℄, inspired by the hemi al abstra t ma hines of Gerard Berry
and Boudol from 1989 [5℄ and Milner also gave the semanti s for abstra tions
and on retions (with a slightly di erent notation; Milner prefers P  : E to
P ! E ) in his 1991 tutorial. The early semanti s was rst presented by Milner,
Walker and myself in 1991 [31℄.
Symboli transitions and their use in de ision pro edures for bisimulation
equivalen es were introdu ed by Matthew Hennessy and Huimin Lin in 1992 for
a pro ess algebra where values (but not hannel names) are transmitted between
agents [17℄. Another hapter in this handbook by Anna Ingolfsdottir and Lin
treats this issue in full. The semanti s was subsequently adapted by Lin (1994)
to the - al ulus [20, 21℄. Similar ideas were developed in parallel by Boreale
and Ro o de Ni ola [7℄. Symboli transitions are also used by Faron Moller and
Bjorn Vi tor in an automati veri ation tool (1994) [56℄.
Variants of Bisimilarity
Early bisimilarity was mentioned in the rst paper on the al ulus and was stud-
ied in more depth by Milner, Walker and myself (1991) along with modal logi s
whi h larify the relationship between late and early bisimulation [31℄. The re-
sults on barbed ongruen e are primarily due to Milner and Sangiorgi (1992) and
are developed in Sangiorgi's PhD Thesis [32, 48℄. A version of barbed ongruen e
for the asyn hronous sub al ulus is de ned and axiomatised by Roberto Ama-
dio, Ilaria Castellani and Sangiorgi (1996) [3℄; the example at the very end of
Se tion 7.2 is from that paper.
Open bisimulation (both strong and weak) and its axiomatisation (only strong)
is due to Sangiorgi 1993 who also uses a symboli semanti s [51℄. The weak late
and early bisimulation equivalen es and ongruen es were rst formulated by
Milner (1990) [24℄.

66
Algebrai Theory
Strong late bisimilarity was axiomatised in the rst paper on the al ulus. San-
giorgi and I axiomatised strong late ongruen e and early bisimilarity and on-
gruen e (through the law early) in 1993; the axiomatisations given here mainly
follow that work [41℄. Axiomatisations of the weak ongruen es (late and early)
have been treated by Lin in a style slightly di erent from what has been pre-
sented here [21℄. The law early2 also omes from this line of work. Inferen es
are there of kind C . P = Q meaning \under ondition C it holds that P = Q",
whi h we would express as if C then P = if C then Q, making the ondition
part of the agents. The fa t that this yields an isomorphi proof system was only
re ently established [40℄. An alternative presentation of weak late ongruen e
and its axiomatisation is by Gianluigi Ferrari, Ugo Montanari and Paola Quaglia
(1995) [14℄.
Unifying E orts
In this growing and diversifying eld it is also appropriate to mention a few e orts
at uni ation. The a tion al uli by Milner (emanating from the work on a tion
stru tures 1992) separate the on erns of parametri dependen y and exe ution
ontrol [28℄. The tiles stru tures by Ferrari and Montanari (emanating from
work with Fabio Gadu i 1995) generalise the on epts of ontext and ontext
omposition [13℄. The Fusion Cal ulus by Vi tor and myself (begun in 1997)
identi es a single binding operator whi h an be used to derive both input and
Restri tion [42℄. Although ea h has made some progress it is lear that mu h
work remains to be done.

A knowledgements

I thank Huimin Lin, Davide Sangiorgi, Thomas Noll, Gunnar O vergaard, and the
anonymous referees for many helpful omments.

Referen es

[1℄ M. Abadi and A. D. Gordon. A al ulus for ryptographi proto ols: The
Spi al ulus. Journal of Information and Computation, 143:1{70, 1999. An
extended abstra t appeared in the Pro eedings of the Fourth ACM Con-
feren e on Computer and Communi ations Se urity (Zuri h, April 1997).
An extended version of this paper appears as Resear h Report 149, Digital
Equipment Corporation Systems Resear h Center, January 1998, and, in
preliminary form, as Te hni al Report 414, University of Cambridge Com-
puter Laboratory, January 1997.
67
[2℄ G. Agha. A tors: A Model of Con urrent Computation in Distributed Sys-
tems. MIT Press, 1986.
[3℄ R. M. Amadio, I. Castellani, and D. Sangiorgi. On bisimulations for the asyn-
hronous - al ulus. Theoreti al Computer S ien e, 195(2):291{324, 1998.
An extended abstra t appeared in Pro eedings of CONCUR '96, LNCS 1119:
147{162.
[4℄ E. Astesiano and E. Zu a. Parametri hannels via label expressions in
CCS. Theoreti al Computer S ien e, 33:45{64, 1984.
[5℄ G. Berry and G. Boudol. The hemi al abstra t ma hine. Theoreti al Com-
puter S ien e, 96:217{248, 1992.
[6℄ M. Boreale. On the expressiveness of internal mobility in name-passing
al uli. Theoreti al Computer S ien e, 195(2):205{226, 1998. An extended
abstra t appeared in Pro eedings of CONCUR '96, LNCS 1119: 163{178.
[7℄ M. Boreale and R. De Ni ola. A symboli semanti s for the - al ulus.
Journal of Information and Computation, 126(1):34{52, 1996. Available
as Report SI 94 RR 04, Universita \La Sapienza" di Roma; an extended
abstra t appeared in Pro eedings of CONCUR '94, pages 299{314, LNCS
836.
[8℄ R. Borgia, P. Degano, C. Priami, L. Leth, and B. Thomsen. Understanding
mobile agents via a non interleaving semanti s for Fa ile. In R. Cousot and
D. A. S hmidt, editors, Pro eedings of SAS '96, volume 1145 of LNCS, pages
98{112. Springer, 1996. Extended version as Te hni al Report ECRC-96-4,
1996.
[9℄ G. Boudol. Towards a lambda- al ulus for on urrent and ommuni ating
systems. In J. Daz and F. Orejas, editors, Pro eedings of TAPSOFT '89,
Volume 1, volume 351 of LNCS, pages 149{161. Springer, 1989.
[10℄ G. Boudol. Asyn hrony and the - al ulus (note). Rapport de Re her he
1702, INRIA Sophia-Antipolis, May 1992.
[11℄ L. Cardelli and A. D. Gordon. Mobile ambients. In M. Nivat, editor, Pro-
eedings of FoSSaCS '98, volume 1378 of LNCS, pages 140{155. Springer,
1998.
[12℄ U. Engberg and M. Nielsen. A al ulus of ommuni ating systems with label-
passing. Te hni al Report DAIMI PB-208, Comp. S . Department, Univ. of
Aarhus, Denmark, 1986.

68
[13℄ G. Ferrari and U. Montanari. A tile-based oordination view of asyn hronous
 - al ulus. In I. Privara and P. Ruzi ka, editors, Pro eedings of MFCS '97,
volume 1295 of LNCS. Springer, Aug. 1994.
[14℄ G. Ferrari, U. Montanari, and P. Quaglia. The weak late - al ulus semanti s
as observation equivalen e. In I. Lee and S. A. Smolka, editors, Pro eedings
of CONCUR '95, volume 962 of LNCS, pages 57{71. Springer, 1995.
[15℄ C. Fournet and G. Gonthier. The re exive hemi al abstra t ma hine and
the join- al ulus. In J. G. Steele, editor, Pro eedings of POPL '96, pages
372{385. ACM, Jan. 1996.
[16℄ S. J. Gay. A sort inferen e algorithm for the polyadi - al ulus. In Pro-
eedings of POPL '93. ACM, January 1993.
[17℄ M. Hennessy and H. Lin. Symboli bisimulations. Theoreti al Computer
S ien e, 138(2):353{389, 1995. Earlier version as Te hni al Report 1/92,
S hool of Cognitive and Computing S ien es, University of Sussex, UK.
[18℄ C. Hewitt. Viewing ontrol stru tures as patterns of passing messages. Jour-
nal of Arti ial Intelligen e, 8:323{364, 1977.
[19℄ K. Honda and M. Tokoro. An obje t al ulus for asyn hronous ommuni-
ation. In P. Ameri a, editor, Pro eedings of ECOOP '91, volume 512 of
LNCS, pages 133{147. Springer, July 1991.
[20℄ H. Lin. Symboli bisimulation and proof systems for the - al ulus. Te h-
ni al Report 7/94, S hool of Cognitive and Computing S ien es, University
of Sussex, UK, 1994.
[21℄ H. Lin. Complete inferen e systems for weak bisimulation equivalen es in
the - al ulus. In P. D. Mosses, M. Nielsen, and M. I. S hwarzba h, editors,
Pro eedings of TAPSOFT '95, volume 915 of LNCS, pages 187{201. Springer,
1995. Presented in the CAAP-se tion. Available as Te hni al Report ISCAS-
LCS-94-11, Institute of Software, Chinese A ademy of S ien es, 1994.
[22℄ R. Milner. A Cal ulus of Communi ating Systems, volume 92 of LNCS.
Springer-Verlag, 1980.
[23℄ R. Milner. Communi ation and Con urren y. Prenti e Hall, 1989.
[24℄ R. Milner. Weak bisimilarity: Congruen es and equivalen es, 1990. -
al ulus note RM10, Manus ript.
[25℄ R. Milner. Fun tions as pro esses. Journal of Mathemati al Stru tures
in Computer S ien e, 2(2):119{141, 1992. Previous version as Rapport de
Re her he 1154, INRIA Sophia-Antipolis, 1990, and in Pro eedings of ICALP
'91, LNCS 443.

69
[26℄ R. Milner. Elements of intera tion. Communi ations of the ACM, 36(1):78{
89, 1993. Turing Award Le ture.
[27℄ R. Milner. The polyadi - al ulus: A tutorial. In F. L. Bauer, W. Brauer,
and H. S hwi htenberg, editors, Logi and Algebra of Spe i ation, volume 94
of Series F. NATO ASI, Springer, 1993. Available as Te hni al Report ECS-
LFCS-91-180, University of Edinburgh, O tober 1991.
[28℄ R. Milner. Cal uli for intera tion. A ta Informati a, 3(8):707{737, 1996.
[29℄ R. Milner. Communi ating and Mobile Systems: the -Cal ulus. Cambridge
University Press, May 1999.
[30℄ R. Milner, J. Parrow, and D. Walker. A al ulus of mobile pro esses, part
I/II. Journal of Information and Computation, 100:1{77, Sept. 1992.
[31℄ R. Milner, J. Parrow, and D. Walker. Modal logi s for mobile pro esses.
Theoreti al Computer S ien e, 114:149{171, 1993.
[32℄ R. Milner and D. Sangiorgi. Barbed bisimulation. In W. Kui h, editor,
Pro eedings of ICALP '92, volume 623 of LNCS, pages 685{695. Springer,
1992.
[33℄ U. Nestmann. What is a `good' en oding of guarded hoi e? In
C. Palamidessi and J. Parrow, editors, Pro eedings of EXPRESS '97, vol-
ume 7 of ENTCS. Elsevier S ien e Publishers, 1997. Full version as report
BRICS-RS-97-45, Universities of Aalborg and Arhus, Denmark, 1997. Re-
vised version a epted (1998) for Journal of Information and Computation.
[34℄ U. Nestmann and B. C. Pier e. De oding hoi e en odings. In U. Mon-
tanari and V. Sassone, editors, Pro eedings of CONCUR '96, volume 1119
of LNCS, pages 179{194. Springer, 1996. Revised full version as report
ERCIM-10/97-R051, European Resear h Consortium for Informati s and
Mathemati s, 1997.
[35℄ U. Nestmann and B. Vi tor. Cal uli for mobile pro esses: Bibliography and
web pages. Bulletin of the EATCS, 64:139{144, February 1998.
[36℄ F. Nielson. The typed - al ulus with rst- lass pro esses. In
Pro . PARLE'89, volume 366 of Le ture Notes in Computer S ien e, pages
357{373. Springer-Verlag, 1989.
[37℄ C. Palamidessi. Comparing the expressive power of the syn hronous and the
asyn hronous - al ulus. In Pro eedings of POPL '97, pages 256{265. ACM,
Jan. 1997.

70
[38℄ J. Parrow. Mismat hing and early equivalen e, 1990. - al ulus note JP13,
Manus ript.
[39℄ J. Parrow. Intera tion diagrams. Nordi Journal of Computing, 2:407{443,
1995. A previous version appeared in Pro eedings of A De ade in Con ur-
ren y, LNCS 803: 477{508, 1993.
[40℄ J. Parrow. On the relationship between two proof systems for the pi- al ulus,
1999. - al ulus note JP15, Manus ript. Available from the author.
[41℄ J. Parrow and D. Sangiorgi. Algebrai theories for name-passing al uli.
Journal of Information and Computation, 120(2):174{197, 1995. A previous
version appeared in Pro eedings of A De ade in Con urren y, LNCS 803:
477{508, 1993.
[42℄ J. Parrow and B. Vi tor. The fusion al ulus: Expressiveness and symme-
try in mobile pro esses. In Pro eedings of LICS '98, pages 176{185. IEEE,
Computer So iety Press, July 1998.
[43℄ B. C. Pier e. Foundational al uli for programming languages. In A. B.
Tu ker, editor, Handbook of Computer S ien e and Engineering, hapter
139. CRC Press, 1996.
[44℄ B. C. Pier e. Type systems for on urrent al uli, Sept. 1998. Invited tutorial
at CONCUR, Ni e, Fran e.
[45℄ B. C. Pier e and D. N. Turner. Con urrent obje ts in a pro ess al ulus. In
T. Ito and A. Yonezawa, editors, Pro eedings of TPPP '94, volume 907 of
LNCS, pages 187{215. Springer, 1995.
[46℄ B. C. Pier e and D. N. Turner. Pi t: A programming language based on the
pi- al ulus. In G. Plotkin, C. Stirling, and M. Tofte, editors, Proof, Language
and Intera tion: Essays in Honour of Robin Milner, 1999. To appear.
[47℄ P. Quaglia and D. Walker. On en oding p in m. In V. Arvind and R. Ra-
manujam, editors, 18th Conferen e on Foundations of Software Te hnology
and Theoreti al Computer S ien e (Chennai, India, De ember 17{19, 1998),
ln s. sv, De . 1998.
[48℄ D. Sangiorgi. Expressing Mobility in Pro ess Algebras: First-Order and
Higher-Order Paradigms. PhD thesis, LFCS, University of Edinburgh, 1993.
CST-99-93 (also published as ECS-LFCS-93-266).
[49℄ D. Sangiorgi. Bisimulation in higher-order pro ess al uli. Journal of In-
formation and Computation, 131:141{178, 1996. Available as Rapport de

71
Re her he RR-2508, INRIA Sophia-Antipolis, 1995. An early version ap-
peared in Pro eedings of PROCOMET'94, pages 207{224. IFIP. North Hol-
land Publisher.
[50℄ D. Sangiorgi. - al ulus, internal mobility and agent-passing al uli. The-
oreti al Computer S ien e, 167(1,2):235{274, 1996. Also as Rapport de
Re her he RR-2539, INRIA Sophia-Antipolis, 1995. Extra ts of parts of the
material ontained in this paper an be found in Pro eedings of TAPSOFT
'95 and ICALP '95.
[51℄ D. Sangiorgi. A theory of bisimulation for the - al ulus. A ta Informat-
i a, 33:69{97, 1996. Earlier version published as Report ECS-LFCS-93-270,
University of Edinburgh. An extended abstra t appeared in the Pro eedings
of CONCUR '93, LNCS 715.
[52℄ D. Sangiorgi. Asyn hronous pro ess al uli: The rst-order and higher-order
paradigms, 1999. To appear in Theoreti al Computer S ien e.
[53℄ B. Thomsen. A al ulus of higher order ommuni ating systems. In Pro-
eedings of POPL '89, pages 143{154. ACM, January 1989.
[54℄ B. Thomsen. Plain CHOCS. A se ond generation al ulus for higher order
pro esses. A ta Informati a, 30(1):1{59, 1993.
[55℄ V. T. Vas on elos and K. Honda. Prin ipal typing s hemes in a polyadi
 - al ulus. In E. Best, editor, Pro eedings of CONCUR '93, volume 715 of
LNCS, pages 524{538. Springer, 1993.
[56℄ B. Vi tor and F. Moller. The Mobility Workben h | a tool for the -
al ulus. In D. Dill, editor, Pro eedings of CAV '94, volume 818 of LNCS,
pages 428{440. Springer, 1994.
[57℄ D. Walker. Obje ts in the - al ulus. Journal of Information and Compu-
tation, 116(2):253{271, 1995.
[58℄ N. Yoshida. Graph types for monadi mobile pro esses. In V. Chandru and
V. Vinay, editors, Pro eedings of FSTTCS '96, volume 1180 of LNCS, pages
371{386. Springer, 1996. Full version as Te hni al Report ECS-LFCS-96-350,
University of Edinburgh.

72

S-ar putea să vă placă și