English
Related papers

Related papers: Coinduction Plain and Simple

200 papers

We introduce a generic presentation of 'syntactic objects built by mixed induction and coinduction' encompassing all standard kinds of infinitary terms, as well as derivation trees in non-wellfounded proof systems. We then define a notion…

Logic in Computer Science · Computer Science 2026-04-27 Rémy Cerda , Alexis Saurin

Coinduction occurs in two guises in Horn clause logic: in proofs of self-referencing properties and relations, and in proofs involving construction of (possibly irregular) infinite data. Both instances of coinductive reasoning appeared in…

Logic in Computer Science · Computer Science 2018-09-14 Ekaterina Komendantskaya Dr , Yue Li

Theorem provers are tools that help users to write machine readable proofs. Some of this tools are also interactive. The need of such softwares is increasing since they provide proofs that are more certified than the hand written ones. Agda…

Logic in Computer Science · Computer Science 2020-02-18 Luca Ciccone

Based on a new coinductive characterization of continuous functions we extract certified programs for exact real number computation from constructive proofs. The extracted programs construct and combine exact real number algorithms with…

Logic in Computer Science · Computer Science 2015-07-01 Ulrich Berger

We present a coinductive framework for defining and reasoning about the infinitary analogues of equational logic and term rewriting in a uniform, coinductive way. The setup captures rewrite sequences of arbitrary ordinal length, but it has…

Logic in Computer Science · Computer Science 2019-03-14 Jörg Endrullis , Helle Hvid Hansen , Dimitri Hendriks , Andrew Polonsky , Alexandra Silva

Even with impressive advances in automated formal methods, certain problems in system verification and synthesis remain challenging. Examples include the verification of quantitative properties of software involving constraints on timing…

Logic in Computer Science · Computer Science 2015-03-19 Sanjit A. Seshia

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…

Logic in Computer Science · Computer Science 2017-07-26 Ekaterina Komendantskaya , Yue Li

The purpose of this paper is to develop and study recursive proofs of coinductive predicates. Such recursive proofs allow one to discover proof goals in the construction of a proof of a coinductive predicate, while still allowing the use of…

Logic in Computer Science · Computer Science 2018-02-21 Henning Basold

In the pure Calculus of Constructions (CC) one can define data types and function over these, and there is a powerful higher order logic to reason over these functions and data types. This is due to the combination of impredicativity and…

Logic in Computer Science · Computer Science 2026-03-05 Herman Geuvers

We extend the work of A. Ciaffaglione and P. Di Gianantonio on mechanical verification of algorithms for exact computation on real numbers, using infinite streams of digits implemented as co-inductive types. Four aspects are studied: the…

Logic in Computer Science · Computer Science 2007-05-23 Yves Bertot

Inductive and coinductive specifications are widely used in formalizing computational systems. Such specifications have a natural rendition in logics that support fixed-point definitions. Another useful formalization device is that of…

Logic in Computer Science · Computer Science 2012-04-30 David Baelde , Gopalan Nadathur

We formulate a framework for describing behaviour of effectful higher-order recursive programs. Examples of effects are implemented using effect operations, and include: execution cost, nondeterminism, global store and interaction with a…

Logic in Computer Science · Computer Science 2021-12-30 Niccolò Veltri , Niels F. W. Voorneveld

We present AlgCo (Algebraic Coinductives), a practical framework for inductive reasoning over commonly used coinductive types such as conats, streams, and infinitary trees with finite branching factor. The key idea is to exploit the notion…

Logic in Computer Science · Computer Science 2023-04-10 Alexander Bagnall , Gordon Stewart , Anindya Banerjee

Using a call-by-value functional language as an example, this article illustrates the use of coinductive definitions and proofs in big-step operational semantics, enabling it to describe diverging evaluations in addition to terminating…

Programming Languages · Computer Science 2008-08-06 Xavier Leroy , Hervé Grall

We propose a simple calculus for processing data streams (infinite flows of data series), represented by finite sets of equations built on stream operators. Furthermore, functions defining streams are regularly corecursive, that is, cyclic…

Programming Languages · Computer Science 2021-08-03 Davide Ancona , Pietro Barbieri , Elena Zucca

We introduce a generalized notion of inference system to support more flexible interpretations of recursive definitions. Besides axioms and inference rules with the usual meaning, we allow also coaxioms, which are, intuitively, axioms which…

Logic in Computer Science · Computer Science 2023-06-22 Francesco Dagnino

Trace semantics has been defined for various kinds of state-based systems, notably with different forms of branching such as non-determinism vs. probability. In this paper we claim to identify one underlying mathematical structure behind…

Logic in Computer Science · Computer Science 2015-07-01 Ichiro Hasuo , Bart Jacobs , Ana Sokolova

We propose abstract compilation for precise static type analysis of object-oriented languages based on coinductive logic programming. Source code is translated to a logic program, then type-checking and inference problems amount to queries…

Programming Languages · Computer Science 2017-09-15 Luca Franceschini , Davide Ancona , Ekaterina Komendantskaya

After surveying classical results, we introduce a generalized notion of inference system to support structural recursion on non-well-founded data types. Besides axioms and inference rules with the usual meaning, a generalized inference…

Logic in Computer Science · Computer Science 2018-04-23 Francesco Dagnino

Reachability Logic is a formalism that can be used, among others, for expressing partial-correctness properties of transition systems. In this paper we present three proof systems for this formalism, all of which are sound and complete and…

Logic in Computer Science · Computer Science 2019-09-05 Vlad Rusu , David Nowak