Productive corecursion in logic programming

被引:7
作者
Komendantskaya, Ekaterina [1 ]
Li, Yue [1 ]
机构
[1] Heriot Watt Univ, Edinburgh, Midlothian, Scotland
基金
英国工程与自然科学研究理事会;
关键词
Horn clauses; (co) recursion; (co) induction; infinite term trees; productivity; SEMANTICS;
D O I
10.1017/S147106841700028X
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 algorithm was presented that semi-decides a weaker property -of productivity of logic programs. A logic program is productive if it can give rise to productive derivations. In this paper, we strengthen these recent results. We propose a method that semi-decides productivity of individual derivations for regular formulae. Thus, we at last give an algorithmic counterpart to the notion of productivity of derivations in logic programming. This is the first algorithmic solution to the problem since it was raised more than 30 years ago. We also present an implementation of this algorithm.
引用
收藏
页码:906 / 923
页数:18
相关论文
共 50 条
[31]   Declarative Compilation for Constraint Logic Programming [J].
Gallego Arias, Emilio Jesus ;
Lipton, James ;
Marino, Julio .
LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION (LOPSTR 2014), 2015, 8981 :299-316
[32]   On the Equivalence between Logic Programming and SETAF [J].
Alcantara, Joao ;
Cordeiro, Renan ;
Sa, Samy .
THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2024, 24 (06) :1208-1236
[33]   CIRCUMSCRIPTION AND PROJECTION AS PRIMITIVES OF LOGIC PROGRAMMING [J].
Wernhard, Christoph .
TECHNICAL COMMUNICATIONS OF THE 26TH INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING (ICLP'10), 2010, 7 :202-211
[34]   An Argumentative Characterization of Disjunctive Logic Programming [J].
Heyninck, Jesse ;
Arieli, Ofer .
PROGRESS IN ARTIFICIAL INTELLIGENCE, PT II, 2019, 11805 :526-538
[35]   A Theoretical Perspective of Coinductive Logic Programming [J].
Ancona, Davide ;
Dovier, Agostino .
FUNDAMENTA INFORMATICAE, 2015, 140 (3-4) :221-246
[36]   An abductive approach to disjunctive logic programming [J].
You, JH ;
Yuan, LY ;
Goebel, R .
JOURNAL OF LOGIC PROGRAMMING, 2000, 44 (1-3) :101-127
[37]   Truth versus information in logic programming [J].
Naish, Lee ;
Sondergaard, Harald .
THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2014, 14 :803-840
[38]   SERVICE-ORIENTED LOGIC PROGRAMMING [J].
Tutu, Ionut ;
Fiadeiro, Jose Luiz .
LOGICAL METHODS IN COMPUTER SCIENCE, 2015, 11 (03)
[39]   Type Inference by Coinductive Logic Programming [J].
Ancona, Davide ;
Lagorio, Giovanni ;
Zucca, Elena .
TYPES FOR PROOFS AND PROGRAMS, 2009, 5497 :1-18
[40]   Modular logic programming and generalized quantifiers [J].
Eiter, T ;
Gottlob, G ;
Veith, H .
LOGIC PROGRAMMING AND NONMONOTONIC REASONING, 1997, 1265 :289-308