Actegories, Copowers, and Higher-Order Message Passing Semantics

Actegories, Copowers, and Higher-Order Message Passing Semantics
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

In this paper we prove that giving a right actegory with hom-objects is equivalent to giving a right-enriched category with copowers. While this result is known in the closed symmetric setting, our contribution extends the equivalence to non-closed and non-symmetric monoidal bases. This generalization is motivated by the semantics of higher-order message passing in the Categorical Message Passing Language (CaMPL), a concurrent language whose semantics is given by a linear actegory. A desirable feature for this language is the support of higher-order processes: processes that are passed as first class citizens between processes. While this ability is already present in any closed linear type systems – such as CaMPL’s – to support arbitrary recursive process definitions requires the ability to reuse passed processes. Concurrent resources in CaMPL, however, cannot be duplicated, thus, passing processes as linear closures does not provide the required flexibility. This means processes must be passed as sequential data and the concurrent side must be enriched in the sequential side, motivating the technical result of this paper.


💡 Research Summary

The paper establishes a precise equivalence between two categorical structures that arise in the semantics of concurrent programming languages: right A‑actegories equipped with hom‑objects and right A‑enriched categories that possess copowers. An A‑actegory is a category X on which a monoidal category A acts via a functor ◁ : X × A → X, together with coherence isomorphisms a◁ and u◁. When, for each object X∈X, the functor X ◁ – has a right adjoint Hom(X,–) : A → X, we say that X is a right actegory with hom‑objects. On the other hand, a right A‑enriched category supplies, for every pair (X,Y), an object Hom(X,Y)∈A together with composition m : Hom(X,Y)⊗Hom(Y,Z)→Hom(X,Z) and unit id : I→Hom(X,X) satisfying the usual associativity and unit axioms. A copower for an object X∈X and an object A∈A is an object X ◁ A together with a morphism η : A→Hom(X,X ◁ A) that induces a bijection  B → Hom(X ◁ A,Y) ⇔ A⊗B → Hom(X,Y). In the literature this equivalence was known only when A is closed (has internal homs) and symmetric; the authors remove both requirements, showing that the correspondence holds for arbitrary monoidal bases, even when they lack closure or symmetry.

The forward direction (actegory ⇒ enriched with copowers) proceeds by extracting the enrichment from the adjunction X ◁ – ⊣ Hom(X,–). The composition m is defined using the counit ε of the adjunction together with the action associator a◁, and the unit id comes from the unit of the action. The required coherence diagrams are verified by a combination of naturality of a◁, the triangle identities of the adjunction, and the monoidal coherence of A. Copowers are obtained by taking η to be the unit of the adjunction; the bijective correspondence follows from the universal property of the adjunction, and the combinators (–)⇑ and (–)⇓ are explicitly described in terms of the adjunction’s unit and counit.

The reverse direction (enriched with copowers ⇒ actegory) uses the universal property of the copower unit η to reconstruct the right adjoint Hom(X,–). Lemma 4.1 shows that a family of right adjoints parameterised by X yields a functor G : Xᵒᵖ×X → A, and Proposition 4.2 proves that the copower data supplies precisely the unit and counit needed for the adjunction X ◁ – ⊣ Hom(X,–). Consequently X inherits a right‑actegory structure via the given action ◁.

Beyond the pure categorical theorem, the authors apply the result to the semantics of the Categorical Message Passing Language (CaMPL), a concurrent language whose underlying model is a linear actegory. CaMPL separates a sequential (functional) world from a concurrent (process) world. While the concurrent world is *‑autonomous (hence closed) and can pass processes as linear closures, linearity prevents duplication of those processes, which is essential for defining recursive higher‑order processes. The solution is to treat processes as sequential data that can be stored, duplicated, and later invoked. The paper introduces two new language constructs, store and use, together with a sequential data type Store(Φ | Γ⊢Δ). This design is precisely captured by the enrichment of the concurrent world in the sequential world, i.e. by the equivalence proved earlier: the actegory with hom‑objects on the concurrent side corresponds to a sequential‑enriched structure with copowers, allowing processes to be “copowered” into sequential values.

Finally, the paper observes that when a category has both powers and copowers, the copower functor admits a left‑parameterised left adjoint (– ◁ A ⊣ A ▶ –), a feature crucial for modeling the symmetric input/output polarity of message passing. The authors note that their result also extends to the bicategorical setting and suggest future work on implementation techniques and further generalisations.

In summary, the work delivers a robust, non‑closed, non‑symmetric categorical equivalence that underpins higher‑order message passing in linear concurrent languages, providing both a clean theoretical foundation and concrete language‑level mechanisms for safely reusing processes as first‑class values.


Comments & Academic Discussion

Loading comments...

Leave a Comment