# Extending Coinductive Logic Programming with Co-Facts

@inproceedings{Ancona2016ExtendingCL, title={Extending Coinductive Logic Programming with Co-Facts}, author={Davide Ancona and Francesco Dagnino and Elena Zucca}, booktitle={CoALP-Ty}, year={2016} }

We introduce a generalized logic programming paradigm where programs, consisting of facts and rules with the usual syntax, can be enriched by co-facts, which syntactically resemble facts but have a special meaning. As in coinductive logic programming, interpretations are subsets of the complete Herbrand basis, including infinite terms. However, the intended meaning (declarative semantics) of a program is a fixed point which is not necessarily the least, nor the greatest one, but is determined…

## Figures from this paper

## 9 Citations

Flexible coinductive logic programming

- Computer ScienceTheory and Practice of Logic Programming
- 2020

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.

Foundations of regular coinduction

- Mathematics, Computer ScienceLog. Methods Comput. Sci.
- 2021

This paper shows that the natural proof-theoretic definition of the regular interpretation, based on regular trees, coincides with a rational fixed point and provides an equivalent inductive characterization, which leads to an algorithm which looks for a regular derivation of a judgment.

An inductive abstract semantics for coFJ

- Computer ScienceFTfJP@ECOOP
- 2020

It is conjecture that completeness with respect to the regular subset of such semantics holds as well, based on the fact that in the proposed semantics detection of cycles is non-deterministic, that is, does not necessarily happens the first time a cycle is found.

Coaxioms: flexible coinductive definitions by inference systems

- Economics, PhilosophyLog. Methods Comput. Sci.
- 2019

A generalized notion of inference system is introduced to support more flexible interpretations of recursive definitions, thus allowing formal reasoning in cases where the inductive and coinductive interpretation do not provide the intended meaning, but are rather mixed together.

Coinduction Plain and Simple

- Computer ScienceArXiv
- 2020

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.

Generalizing Inference Systems by Coaxioms

- Economics, Computer ScienceESOP
- 2017

A generalized notion of inference system to support structural recursion on non-well-founded data types and allows formal reasoning in cases where the inductive and coinductive interpretation do not provide the intended meaning, or are mixed together.

Sound Regular Corecursion in coFJ

- Computer ScienceECOOP
- 2020

The aim of the paper is to provide solid foundations for a programming paradigm natively supporting the creation and manipulation of cyclic data structures. To this end, we describe coFJ, a Java-like…

Corecursive Featherweight Java Revisited

- Computer ScienceICTCS
- 2019

We describe a Java-like calculus which supports cyclic data structures, and offers a mechanism of flexible regular corecursion for their manipulation. The calculus enhances an earlier proposal by a…

## References

SHOWING 1-10 OF 12 REFERENCES

Extending logic programming with coinduction

- Computer Science
- 2006

The contribution of this dissertation is the extension of traditional logic programming with coinduction, by invoking the principle of duality on the declarative semantics ofTraditional logic programming and by developing an efficient top-down, goal-directed procedure based on the Principle of coinductions, for deciding inclusion of a logical statement in the greatest fixed-point model.

Co-Logic Programming: Extending Logic Programming with Coinduction

- Computer ScienceICALP
- 2007

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.

Regular corecursion in Prolog

- Computer ScienceSAC '12
- 2012

This paper proposes two main alternative vanilla meta-interpreters to support regular co-recursion in Prolog as an interesting programming style in its own right, able to elegantly solve problems that would require more complex code if conventional recursion were used.

Safe corecursion in coFJ

- Computer ScienceFTfJP@ECOOP
- 2013

This coFJ variant is able to define a type system that allows the user to specify that certain corecursive methods cannot return an undetermined value, and it is possible to prevent unsafe use of such a value.

Generalizing Inference Systems by Coaxioms

- Economics, Computer ScienceESOP
- 2017

A generalized notion of inference system to support structural recursion on non-well-founded data types and allows formal reasoning in cases where the inductive and coinductive interpretation do not provide the intended meaning, or are mixed together.

A Theoretical Perspective of Coinductive Logic Programming

- Computer ScienceFundam. Informaticae
- 2015

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.

Language Constructs for Non-Well-Founded Computation

- Computer ScienceESOP
- 2013

This paper proposes programming language constructs that would allow the specification of alternative solutions and methods to compute them, and gives numerous examples in which it would be useful to do so: free variables, α-conversion, and substitution in infinitary λ-terms; halting probabilities and expected running times of probabilistic protocols; abstract interpretation; and constructions involving finite automata.

Corecursive Featherweight Java

- Computer ScienceFTfJP@ECOOP
- 2012

This work proposes an extension to Featherweight Java, called COFJ, where it is possible to define cyclic objects, abstractly corresponding to regular terms, and where an abstraction mechanism, called regular corecursion, is provided for supporting implementation of coinductive operations oncyclic objects.

CoCaml: Programming with Coinductive Types

- Computer Science, Economics
- 2012

We present CoCaml, a functional programming language extending OCaml, which allows us to define functions on coinductive datatypes parameterized by an equation solver. We provide numerous examples…

Iterative algebras at work

- MathematicsMathematical Structures in Computer Science
- 2006

This paper shows that by starting with ‘iterative algebras’, that is, algeBRas admitting a unique solution of all systems of flat recursive equations, a free iterative theory is obtained as the theory of free iteratives alge bras.