From Logic to Functional Logic Programs
Michael Hanus

TL;DR
This paper introduces an automatic transformation from logic programs to functional logic programs, enhancing computational efficiency by reducing infinite search spaces while maintaining logic programming flexibility.
Contribution
It proposes a novel, fully automatic transformation method based on inferring functional dependencies, enabling logic programs to benefit from functional logic evaluation strategies.
Findings
Transformation reduces infinite search spaces to finite ones.
Maintains the flexibility of logic programming.
Improves computational efficiency in logic programs.
Abstract
Logic programming is a flexible programming paradigm due to the use of predicates without a fixed data flow. To extend logic languages with the compact notation of functional programming, there are various proposals to map evaluable functions into predicates in order to stay in the logic programming framework. Since amalgamated functional logic languages offer flexible as well as efficient evaluation strategies, we propose an opposite approach in this paper. By mapping logic programs into functional logic programs with a transformation based on inferring functional dependencies, we develop a fully automatic transformation which keeps the flexibility of logic programming but can improve computations by reducing infinite search spaces to finite ones.
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, Reasoning, and Knowledge · Logic, programming, and type systems · Formal Methods in Verification
