Action calculi III: Higher-order calculi

This paper extends an arbitrary action calculus [11] to higher order, in a way which parallels the extension of the -calculus [13] to higher order by Sangiorgi [18]. Action calculi are a subclass of action structures [10], which in turn are an enriched class of monoidal categories. Each action calculus AC(K) is distinguished by its set K of controls and their reaction rules. The notion of action calculus is derived partly from the chemical abstract machine of Berry and Boudol [5]. To each control K 2 K corresponds a type of molecule; the main interest of action calculi is that they are an algebra of molecular forms, which provide a non-free but algebraically tractable form of syntax for modelling concurrent systems. Particular action calculi exist which are generalisations of Petri nets, and of the calculus; see [11, 12]. Thus the extension to higher order adds power to existing models of concurrency. This paper demonstrates that the algebraic treatment of action calculi, including the notion of molecular form, extends smoothly to higher-order calculi which generalise the -calculus. Sections 1–6 contain a review of action calculi, sufficient for present purposes. The first step towards higher order is taken in Section 7 by the addition of two new controls to any action calculus AC(K). These new controls are essentially the “curry” and “apply” operations of a cartesian-closed category for the typed -calculus. The reaction rules for these new controls, -reduction and -reduction, are closely related to reduction in the -calculus [1], a -calculus with explicit substitutions; so far they are treated on the same footing as the reaction rules pertaining to the originally controls K. The next step, in Section 8, is to replace -reduction by its induced congruence relation, -conversion. This leads essentially to the familiar -calculus, but enriched by the presence of K-molecules and the (possibly non-confluent) K-reaction relation. In Section 9 we first determine a condition, called stability, under which -reduction commutes with K-reaction. This justifies our final step towards an equational higherorder calculus, which is to replace -reduction by its induced congruence, -conversion. Taking the quotient by this congruence yields our higher-order action calculus which we call HAC(K). When K is a control-set suitable for the -calculus, we end up with an enriched form of Sangiorgi’s higher-order -calculus. Section 10 examines the possibility of making HAC(K) into a cartesian-closed category. If K = ; then HAC(K) is nearly the standard cartesian-closed category for typed -calculus, but not quite. To reach it, a further quotient is needed, by an extra equation representing -conversion. Indeed, we show that this quotient converts any higher-order action calculus into a cartesian-closed category; but in the case of some action calculi with non-trivial interactive dynamics, such as PIC (representing the -calculus), it is inconsistent with the dynamic behaviour.