Interclausal Logic Variables
Paul Tarau, Fahmida Hamid

TL;DR
This paper introduces interclausal logic variables in Prolog, enabling instant global information exchange across clauses without database updates, demonstrated through graph algorithms and supported by multiple implementation strategies.
Contribution
It presents a novel extension to Prolog with interclausal variables, allowing global variable sharing and chained transitions, along with implementation techniques and practical algorithm applications.
Findings
Supports instant global information exchange in Prolog.
Enables implementation as source-level transformations and machine adaptations.
Demonstrates usefulness with graph coloring and minimum spanning tree algorithms.
Abstract
Unification of logic variables instantly connects present and future observations of their value, independently of their location in the data areas of the runtime system. The paper extends this property to "interclausal logic variables", an easy to implement Prolog extension that supports instant global information exchanges without dynamic database updates. We illustrate their usefulness with two of algorithms, {\em graph coloring} and {\em minimum spanning tree}. Implementations of interclausal variables as source-level transformations and as abstract machine adaptations are given. To address the need for globally visible chained transitions of logic variables we describe a DCG-based program transformation that extends the functionality of interclausal variables.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Distributed systems and fault tolerance · Advanced Database Systems and Queries
