DeepAI AI Chat
Log In Sign Up

Semantics of a Relational λ-Calculus (Extended Version)

09/23/2020
by   Pablo Barenbaum, et al.
0

We extend the λ-calculus with constructs suitable for relational and functional-logic programming: non-deterministic choice, fresh variable introduction, and unification of expressions. In order to be able to unify λ-expressions and still obtain a confluent theory, we depart from related approaches, such as λProlog, in that we do not attempt to solve higher-order unification. Instead, abstractions are decorated with a location, which intuitively may be understood as its memory address, and we impose a simple coherence invariant: abstractions in the same location must be equal. This allows us to formulate a confluent small-step operational semantics which only performs first-order unification and does not require strong evaluation (below lambdas). We study a simply typed version of the system. Moreover, a denotational semantics for the calculus is proposed and reduction is shown to be sound with respect to the denotational semantics.

READ FULL TEXT

page 1

page 2

page 3

page 4

11/23/2022

The Functional Machine Calculus II: Semantics

The Functional Machine Calculus (FMC), recently introduced by the author...
02/27/2018

Relational Reasoning for Markov Chains in a Probabilistic Guarded Lambda Calculus

We extend the simply-typed guarded λ-calculus with discrete probabilitie...
11/26/2020

Universal Semantics for the Stochastic Lambda-Calculus

We define sound and adequate denotational and operational semantics for ...
07/16/2019

Recovering Purity with Comonads and Capabilities

In this paper, we take a pervasively effectful (in the style of ML) type...
07/12/2021

Coherent differentiation

The categorical models of the differential lambda-calculus are additive ...
04/28/2021

Semantic Bounds and Strong Call-by-Value Normalization

This paper explores two topics at once: the use of denotational semantic...
05/12/2022

Direct Foundations for Compositional Programming

The recently proposed CP language adopts Compositional Programming: a ne...