The Relational Machine Calculus

被引:0
|
作者
Barrett, Chris [1 ]
Castle, Daniel [2 ]
Heijltjes, Willem [2 ]
机构
[1] Univ Oxford, Oxford, England
[2] Univ Bath, Bath, England
关键词
lambda-calculus; Kleene algebra; logic programming; reversible programming; non-determinism; hypergraph category; Krivine abstract machine; categorical semantics; operational semantics; SEMANTICS; CATEGORIES; LAWS;
D O I
10.1145/3661814.3662091
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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-byname 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 lambda-calculus. 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.
引用
收藏
页数:15
相关论文
共 50 条
  • [41] TRANSLATION WITH OPTIMIZATION FROM RELATIONAL CALCULUS TO RELATIONAL ALGEBRA HAVING AGGREGATE FUNCTIONS
    NAKANO, R
    ACM TRANSACTIONS ON DATABASE SYSTEMS, 1990, 15 (04): : 518 - 557
  • [42] Class dependency of fuzzy relational database using relational calculus and conditional probability
    Akbar, Mohammad Deni
    Mizoguchi, Yoshihiro
    Adiwijaya
    INTERNATIONAL CONFERENCE ON DATA AND INFORMATION SCIENCE (ICODIS), 2018, 971
  • [43] Combining relational calculus and the Dijkstra-Gries method for deriving relational programs
    Berghammer, R
    INFORMATION SCIENCES, 1999, 119 (3-4) : 155 - 171
  • [44] Formal Equivalence Classes Model of Fuzzy Relational Databases Using Relational Calculus
    Akbar, Mohammad Deni
    Mizoguchi, Yoshihiro
    2017 1ST INTERNATIONAL CONFERENCE ON APPLIED COMPUTER AND COMMUNICATION TECHNOLOGIES (COMCOM), 2017, : 55 - 60
  • [45] EXTENDING RELATIONAL ALGEBRA AND RELATIONAL CALCULUS WITH SET-VALUED ATTRIBUTES AND AGGREGATE FUNCTIONS
    OZSOYOGLU, G
    OZSOYOGLU, ZM
    MATOS, V
    ACM TRANSACTIONS ON DATABASE SYSTEMS, 1987, 12 (04): : 566 - 592
  • [46] A virtual machine for the ambient calculus
    Cruz, LRG
    Aguirre, OO
    2005 2nd International Conference on Electrical & Electronics Engineering (ICEEE), 2005, : 56 - 59
  • [47] An abstract machine for the Kell Calculus
    Bidinger, P
    Schmitt, A
    Stefani, JB
    FORMAL METHODS FOR OPEN OBJECT-BASED DISTRIBUTED SYSTEMS, PROCEEDINGS, 2005, 3535 : 31 - 46
  • [48] A virtual machine for a process calculus
    Lopes, L
    Silva, F
    Vasconcelos, VT
    PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, PROCEEDINGS, 1999, 1702 : 244 - 260
  • [49] Fuzzy Relational Calculus and Its Application to Image Processing
    Kerre, Etienne E.
    Nachtegael, Mike
    FUZZY LOGIC AND APPLICATIONS, 2009, 5571 : 179 - 188
  • [50] FUZZY RELATIONAL CALCULUS AND ITS WIDE RANGE OF APPLICATIONS
    Kerre, Etienne E.
    UNCERTAINTY MODELING IN KNOWLEDGE ENGINEERING AND DECISION MAKING, 2012, 7 : L3 - L4