Productive Corecursion in Logic Programming
Ekaterina Komendantskaya, Yue Li

TL;DR
This paper introduces the first algorithmic method to semi-decide the productivity of individual derivations in logic programming, addressing a fundamental and previously unresolved problem related to infinite computations and stream processing.
Contribution
It presents a novel semi-decision procedure for productivity of derivations in logic programming, providing the first algorithmic solution to this longstanding problem.
Findings
Algorithm semi-decides productivity of derivations
Implementation of the proposed algorithm
Addresses a 30-year-old open problem
Abstract
Logic Programming is a Turing complete language. As a consequence, designing algorithms that decide termination and non-termination of programs or decide inductive/coinductive soundness of formulae is a challenging task. For example, the existing state-of-the-art algorithms can only semi-decide coinductive soundness of queries in logic programming for regular formulae. Another, less famous, but equally fundamental and important undecidable property is productivity. If a derivation is infinite and coinductively sound, we may ask whether the computed answer it determines actually computes an infinite formula. If it does, the infinite computation is productive. This intuition was first expressed under the name of computations at infinity in the 80s. In modern days of the Internet and stream processing, its importance lies in connection to infinite data structure processing. Recently, an…
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 · Advanced Algebra and Logic · Logic, programming, and type systems
