(Co)recursion in Logic Programming: Lazy vs Eager
J\'onathan Heras, Ekaterina Komendantskaya, Martin Schmidt

TL;DR
This paper introduces CoALP, a logic programming dialect that enhances analysis of recursion and corecursion through lazy evaluation, comparing it with eager approaches like CoLP, and discusses future development directions.
Contribution
It presents lazy (co)recursion features in CoALP and compares them with existing eager methods like CoLP, advancing the understanding of recursion analysis in logic programming.
Findings
Lazy features improve termination analysis.
Comparison shows trade-offs between lazy and eager approaches.
Future work includes developing guarded (co)recursion techniques.
Abstract
CoAlgebraic Logic Programming (CoALP) is a dialect of Logic Programming designed to bring a more precise compile-time and run-time analysis of termination and productivity for recursive and corecursive functions in Logic Programming. Its second goal is to introduce guarded lazy (co)recursion akin to functional theorem provers into logic programming. In this paper, we explain lazy features of CoALP, and compare them with the loop-analysis and eager execution in Coinductive Logic Programming (CoLP). We conclude by outlining the future directions in developing the guarded (co)recursion in logic programming.
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
