Seeking a deeper understanding of abstraction in programming? This paper generalizes the categorical semantics of λ-calculus to action calculus, which is a framework incorporating λ-calculi, π-calculus, and Petri nets. Variables are generalized to names, allowing for a restricted form of substitution. A functional completeness theorem for symmetric monoidal categories is proven, determining conditions under which abstraction is definable. The paper demonstrates how the distinction between variables and names boils down to the difference between transcendental and algebraic elements, leading to polynomial and algebraic extensions, respectively. Action categories are introduced, relating them to the static action calculus. It then shows how action categories relate to the static action calculus, akin to how cartesian closed categories relate to the λ-calculus. This study builds upon Gardner's work and shows that the work can apply to cartesian bicategories. The study also shows how commutative Moggi monads form an action category. This general correspondence between action calculi and Moggi monads sets the stage for future research in the area.
Published in Mathematical Structures in Computer Science, this paper aligns with the journal's focus on mathematical foundations of computation. The article contributes to the area of computer science theory, a key topic for the journal, by exploring categorical logic and abstraction. Its relevance is enhanced by connections to λ-calculus and Moggi monads.
Category | Category Repetition |
---|---|
Science: Mathematics: Instruments and machines: Electronic computers. Computer science | 1 |