Translating Three-Variable First-Order Predicate Logic to Relation Algebra, Implemented using Z3
Anthony Brogni, Sebastiaan J. C. Joosten

TL;DR
This paper introduces a Python-based software tool that translates three-variable first-order predicate logic into relation algebra using the Z3 theorem prover, facilitating easier integration and verification.
Contribution
It presents a novel implementation of translating first-order logic to relation algebra with Z3, enhancing reliability and automation in logical reasoning tasks.
Findings
Successfully translated first-order logic to relation algebra
Validated the tool's correctness using Z3
Enabled easier integration of logic into algebra-based tools
Abstract
This paper presents the development of a software tool that enables the translation of first-order predicate logic with at most three variables into relation algebra. The tool was developed using the Z3 theorem prover, leveraging its capabilities to enhance reliability, generate code, and expedite development. The resulting standalone Python program allows users to translate first-order logic formulas into relation algebra, eliminating the need to work with relation algebra explicitly. This paper outlines the theoretical background of first-order logic, relation algebra, and the translation process. It also describes the implementation details, including validation of the software tool using Z3 for testing correctness. By demonstrating the feasibility of utilizing first-order logic as an alternative language for expressing relation algebra, this tool paves the way for integrating…
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.
