Programming in logic without Prolog
M. H. van Emden

TL;DR
This paper introduces a compositional semantics for logic that enables programming and database applications without relying on traditional logic programming languages like Prolog, allowing for efficient resource use and flexible function and relation definitions.
Contribution
It presents a new compositional semantics for logic that supports defining functions and relations independently of logic programming languages, bridging logic and practical programming.
Findings
Verification of results can be based on logic interpretations and class definitions.
The approach combines expressive power with resource efficiency.
It enables logic-based programming without Prolog.
Abstract
Logic can be made useful for programming and for databases independently of logic programming. To be useful in this way, logic has to provide a mechanism for the definition of new functions and new relations on the basis of those given in the interpretation of a logical theory. We provide this mechanism by creating a compositional semantics on top of the classical semantics. In this approach verification of computational results relies on a correspondence between logic interpretations and a class definition in languages like Java or C++. The advantage of this approach is the combination of an expressive medium for the programmer with, in the case of C++, optimal use of computer resources.
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 · Logic, Reasoning, and Knowledge · Formal Methods in Verification
