3.1 Polyadicity
In the monadic π-calculus, an interaction involves the transmission of a single name from one process to another. A natural and convenient extension is to admit processes that pass tuples of names. The enriched language, the polvadic π-calculus, is examined in this section.
Definition 3.1.1 (Polyadic π-calculus) The processes of the polyadic tt- calculus are defined in the same way as the processes of the monadic calculus, except that the prefixes are given by
where no name occurs more than once in the tuple z in an input prefix.
The intended interpretations of the new polyadic prefixes are that. P can send the tuple via x and continue as P, and that. Q can receive a tuple via x and continue as.
The natural way to extend the reduction relation to polyadic terms is to change the first axiom, R-inter, of reduction to:
Thus, in an interaction, sender and receiver must agree on the length of the tuple to be passed. (We write | x | for the length of the tuple x.) Simply defining reduction using Pr-inter is not the end of the story, however.
To see why, consider a polyadic term in which sender and receiver disagree on the length of tuple to be transmitted via some name, for instance,
A term such as this is somewhat analogous to an ill-tvped application term in a typed λ-calculus. It may not be manifest whether a disagreement of the kind illustrated in (3.1) can arise from a given polvadic process. For instance,
can evolve in two reductions to the term in (3.1); and one can easily imagine more complicated examples.
How can such ill-formed polvadic processes be separated out? Taking a cue from λ-calculus and programming languages, we may seek to achieve the separation via a suitable type discipline. Part III and Part IV are devoted to types, and consider in particular typing of polvadic processes. Passing of tuples is so useful, however, that we wish to anticipate a little and develop a suitable treatment here. The treatment will use a by-name typing discipline, based on sorts. The typing is by name in that different sorts are considered to be different types. From Part III on, we study typing by structure, where types are equal if they have the same structure.