Certified Semantics for Relational Programming

05/03/2020
by   Dmitry Rozplokhas, et al.
0

We present a formal study of semantics for the relational programming language miniKanren. First, we formulate a denotational semantics which corresponds to the minimal Herbrand model for definite logic programs. Second, we present operational semantics which models interleaving, the distinctive feature of miniKanren implementation, and prove its soundness and completeness w.r.t. the denotational semantics. Our development is supported by a Coq specification, from which a reference interpreter can be extracted. We also derive from our main result a certified semantics (and a reference interpreter) for SLD resolution with cut and prove its soundness.

READ FULL TEXT

page 4

page 5

page 6

page 14

page 15

page 20

research
07/30/2022

Typed SLD-Resolution: Dynamic Typing for Logic Programming

The semantic foundations for logic programming are usually separated int...
research
12/02/2020

Poset products as relational models

We introduce a relational semantics based on poset products, and provide...
research
09/07/2021

An Empirical Study of Partial Deduction for miniKanren

We study conjunctive partial deduction, an advanced specialization techn...
research
07/17/2020

Smart Choices and the Selection Monad

Describing systems in terms of choices and their resulting costs and rew...
research
06/07/2017

Decoding Lua: Formal Semantics for the Developer and the Semanticist

We provide formal semantics for a large subset of the Lua programming la...
research
08/30/2023

On Feasibility of Declarative Diagnosis

The programming language Prolog makes declarative programming possible, ...
research
05/28/2018

Typed Embedding of a Relational Language in OCaml

We present an implementation of the relational programming language mini...

Please sign up or login with your details

Forgot password? Click here to reset