English
Related papers

Related papers: Flexible Coinduction in Agda

200 papers

Coinduction occurs in two guises in Horn clause logic: in proofs of circular properties and relations, and in proofs involving construction of infinite data. Both instances of coinductive reasoning appeared in the literature before, but a…

Logic in Computer Science · Computer Science 2019-03-19 Ekaterina Komendantskaya , Yue Li

The main aim of this paper is to promote a certain style of doing coinductive proofs, similar to inductive proofs as commonly done by mathematicians. For this purpose, we provide a reasonably direct justification for coinductive proofs…

Logic in Computer Science · Computer Science 2019-05-24 Łukasz Czajka

Sized types are a modular and theoretically well-understood tool for checking termination of recursive and productivity of corecursive definitions. The essential idea is to track structural descent and guardedness in the type system to make…

Programming Languages · Computer Science 2010-12-23 Andreas Abel

Terms are a concise representation of tree structures. Since they can be naturally defined by an inductive type, they offer data structures in functional programming and mechanised reasoning with useful principles such as structural…

Logic in Computer Science · Computer Science 2015-07-01 Makoto Hamana

In current Large Language Models we can trust the production of smoothly flowing prose on the basis of the principles of machine learning. However, there is no comparably principled basis to justify trust in the content of the text…

Artificial Intelligence · Computer Science 2026-05-15 Leslie G. Valiant

We present a novel approach to generic programming over extensible data types. Row types capture the structure of records and variants, and can be used to express record and variant subtyping, record extension, and modular composition of…

Programming Languages · Computer Science 2023-07-21 Alex Hubers , J. Garrett Morris

This paper provides an induction rule that can be used to prove properties of data structures whose types are inductive, i.e., are carriers of initial algebras of functors. Our results are semantic in nature and are inspired by Hermida and…

Programming Languages · Computer Science 2015-07-01 Neil Ghani , Patricia Johann , Clement Fumex

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

Deep data types are those that are constructed from other data types, including, possibly, themselves. In this case, they are said to be truly nested. Deep induction is an extension of structural induction that traverses all of the…

Logic in Computer Science · Computer Science 2021-12-08 Patricia Johann , Enrico Ghiorzi

Infinite-state systems such as distributed protocols are challenging to verify using interactive theorem provers or automatic verification tools. Of these techniques, deductive verification is highly expressive but requires the user to…

Programming Languages · Computer Science 2019-05-21 Yotam M. Y. Feldman , James R. Wilcox , Sharon Shoham , Mooly Sagiv

An inductive inference system for proving validity of formulas in the initial algebra $T_{\mathcal{E}}$ of an order-sorted equational theory $\mathcal{E}$ is presented. It has 20 inference rules, but only 9 of them require user interaction;…

Logic in Computer Science · Computer Science 2024-05-07 Jose Meseguer

In the context of dependent type theory, we show that coinductive predicates have an equivalent topological counterpart in terms of coinductively generated positivity relations, introduced by G. Sambin to represent closed subsets in…

Logic · Mathematics 2024-04-05 Pietro Sabelli

Some total languages, like Agda and Coq, allow the use of guarded corecursion to construct infinite values and proofs. Guarded corecursion is a form of recursion in which arbitrary recursive calls are allowed, as long as they are guarded by…

Logic in Computer Science · Computer Science 2010-12-23 Nils Anders Danielsson

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

In functional programming languages, generalized algebraic data types (GADTs) are very useful as the unnecessary pattern matching over them can be ruled out by the failure of unification of type arguments. In dependent type systems, this is…

Programming Languages · Computer Science 2021-07-07 Tesla Zhang

Containers capture the concept of strictly positive data types in programming. The original development of containers is done in the internal language of locally cartesian closed categories (LCCCs) with disjoint coproducts and W-types, and…

Logic in Computer Science · Computer Science 2025-07-08 Stefania Damato , Thorsten Altenkirch , Axel Ljungström

Mechanical reasoning is a key area of research that lies at the crossroads of mathematical logic and artificial intelligence. The main aim to develop mechanical reasoning systems (also known as theorem provers) was to enable mathematicians…

Software Engineering · Computer Science 2019-12-09 M. Saqib Nawaz , Moin Malik , Yi Li , Meng Sun , M. Ikram Ullah Lali

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 Languages · Computer Science 2017-09-26 Davide Ancona , Francesco Dagnino , Elena Zucca

This book can be seen either as a text on theorem proving that uses techniques from general algebra, or else as a text on general algebra illustrated and made concrete by practical exercises in theorem proving. The book considers several…

Logic in Computer Science · Computer Science 2021-01-19 Joseph A. Goguen

The logic embedding tool provides a procedural encoding for non-classical reasoning problems into classical higher-order logic. It is extensible and can support an increasing number of different non-classical logics as reasoning targets.…

Artificial Intelligence · Computer Science 2022-03-24 Alexander Steen