Productive corecursion in logic programming*

  title={Productive corecursion in logic programming*},
  author={Ekaterina Komendantskaya and Yue Li},
  journal={Theory and Practice of Logic Programming},
  pages={906 - 923}
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… 
Flexible coinductive logic programming
This work provides a detailed formal account of an extension of logic programming supporting flexible coinduction, and proves that the operational semantics is sound and complete with respect to declarative semantics restricted to finite comodels.
Logic programming: laxness and saturation
Structural Resolution for Abstract Compilation of Object-Oriented Languages
This work proposes abstract compilation for precise static type analysis of object-oriented languages based on coinductive logic programming and shows how to transform logic programs to make them satisfy the preconditions for the operational semantics of structural resolution.
Coinduction Plain and Simple
Extensions of functional and logic programming with limited and decidable forms of the generalized coinduction proof principle are suggested, which makes the coinductions proof principle more intuitive and stresses its closeness with structural induction.
A Coalgebraic Perspective on Probabilistic Logic Programming
A coalgebraic perspective on probabilistic logic programming is proposed, which yields a “possible worlds” interpretation of programs, from which one may recover the usual distribution semantics of probabilism logic programming.
Coalgebraic Semantics for Probabilistic Logic Programming
It is shown that a similar approach can be used to provide a coalgebraic semantics to weighted logic programming, from which one may recover the usual distribution semantics of probabilistic logic programming.
8th Conference on Algebra and Coalgebra in Computer Science, CALCO 2019, June 3-6, 2019, London, United Kingdom
This extended abstract presents matching μ-logic as the foundation of K and discusses some of its applications in defining constructors, transition systems, modal μ- logic and temporal logic variants, and reachability logic.
The New Normal: We Cannot Eliminate Cuts in Coinductive Calculi, But We Can Explore Them
A novel method of coinductive theory exploration is formulated that provides several heuristics for discovery of cut formulae in CLJ, a system of sequent calculi called CLJ that is not eliminable in a coinduction extension of LJ.
Towards Coinductive Theory Exploration in Horn Clause Logic: Position Paper
A coinductive extension of Miller et al's framework of uniform proofs is proposed and proved to prove its soundness relative to coinduction models of Horn clause logic.
Coinductive Uniform Proofs
A general proof-theoretic framework for handling both kinds of coinduction arising in Horn clause logic and a coinductive extension of Miller et al framework of uniform proofs is proposed and proved to be sound relative to coinductions models of Horn Clause logic.


A Productivity Checker for Logic Programming
A notion of observational productivity for logic programming as an algorithmic approximation of global productivity is introduced, an effective procedure for semi-deciding observational productivity is given, and an implemented automated observational productivity checker for logic programs is offered.
Semantics of Infinite Tree Logic Programming
Coalgebraic logic programming: from Semantics to Implementation
A coherent semantics-led account of the issues is given, starting with abstract category theoretic semantics, developing coalgebra to characterize naturally arising trees and proceeding towards implementation of a new dialect, CoALP, of logic programming, characterised by guarded lazy corecursion and parallelism.
Logic-Based Program Synthesis and Transformation
  • M. Falaschi
  • Computer Science
    Lecture Notes in Computer Science
  • 2015
Finite Tree Automata are described, both prescriptively and descriptively, for expressing and checking intended properties of programs, and extensions that go beyond the expressiveness of tree automata are looked at, as well as integrating arithmetic constraints.
Top-Down Semantics of Fair Computations of Logic Programs
Introduction to Bisimulation and Coinduction
This book presents bisimulation and coinduction: the fundamental concepts and techniques and the duality with induction and serves as an introduction to models for expressing processes and to the associated techniques of operational and algebraic analysis.
Co-Logic Programming: Extending Logic Programming with Coinduction
The theory and practice of co-logic programming is presented, a paradigm that combines both inductive and coinductive logic programming that has applications to rational trees, verifying infinitary properties, lazy evaluation, concurrent LP, model checking, bisimilarity proofs, etc.
Coinductive Logic Programming and Its Applications
Applications of coinductive logic programming to verification and model checking, lazy evaluation, concurrent logic programming and non-monotonic reasoning are discussed.
Computational Logic: Logic Programming and Beyond: Essays in Honour of Robert A. Kowalski, Part I
This book discusses Logic in Databases and Information Integration, non-deductive Reasoning, and Argumentation-Based Proof Procedures for Credulous and Sceptical Non-monotonic Reasoning.
A Theoretical Perspective of Coinductive Logic Programming
A new operational semantics is proposed that allows a simple correctness result and the definition of a simple meta-interpreter, and is compared, and proved, with the operational semantics defined and used in other papers on this topic.