The Relational Machine Calculus
Chris Barrett, Daniel Castle, Willem Heijltjes
Abstract
This paper presents the Relational Machine Calculus (RMC): a simple, foundational model of first-order relational programming. The RMC originates from the Functional Machine Calculus (FMC), which generalizes the lambda-calculus and its standard call-by-name stack machine in two directions. One, "locations", introduces multiple stacks, which enable effect operators to be encoded into the abstraction and application constructs. The second, "sequencing", introduces the imperative notions of "skip" and "sequence", similar to kappa-calculus and concatenative programming languages.
The key observation of the RMC is that the first-order fragment of the FMC exhibits a latent duality which, given a simple decomposition of the relevant constructors, can be concretely expressed as an involution on syntax. Semantically, this gives rise to a sound and complete calculus for string diagrams of Frobenius monoids.
We consider unification as the corresponding symmetric generalization of beta-reduction. By further including standard operators of Kleene algebra, the RMC embeds a range of computational models: the kappa-calculus, logic programming, automata, Interaction Nets, and Petri Nets, among others. These embeddings preserve operational semantics, which for the RMC is again given by a generalization of the standard stack machine for the lambdacalculus. The equational theory of the RMC (which supports reasoning about its operational semantics) is conservative over both the first-order lambda-calculus and Kleene algebra, and can be oriented to give a confluent reduction relation.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 652de4d9-bc18-44c0-a441-d5911d992976Builds on7
- Compositional Semantics for Probabilistic Programs with Exact ConditioningDario Stein, Sam StatonLICS 2021 · 18 citations
- Proto-Quipper with Dynamic LiftingPeng Fu, Kohei Kishida, Neil J. Ross, Peter SelingerPOPL 2023 · 17 citations
- Symmetries in reversible programming: from symmetric rig groupoids to reversible programming languagesVikraman Choudhury, Jacek Karwowski, Amr SabryPOPL 2022 · 10 citations
- A computational interpretation of compact closed categories: reversible programming with negative and fractional typesChao-Hong Chen, Amr SabryPOPL 2021 · 9 citations
- Deconstructing the Calculus of Relations with Tape DiagramsFilippo Bonchi, Alessandro Di Giorgio, Alessio SantamariaPOPL 2023 · 8 citations
Related papers
- The Geometry of Causality: Multi-token Geometry of Interaction and Its Causal UnfoldingSimon Castellan, Pierre ClairambaultPOPL 2023 · 2 citations
- Diagrammatic Algebra of First Order LogicFilippo Bonchi, Alessandro Di Giorgio, Nathan Haydon, Pawel SobocinskiLICS 2024 · 5 citations
- The Topological Mu-Calculus: completeness and decidabilityAlexandru Baltag, Nick Bezhanishvili, David Fernández-DuqueLICS 2021 · 10 citations
- The Logic of Intersection SubtypingOlivier LaurentLICS 2026
- Allegories of Symbolic ManipulationsFrancesco GavazzoLICS 2023
