English
Related papers

Related papers: Foundational Extensible Corecursion

200 papers

Isabelle is an interactive theorem prover that supports a variety of logics. It represents rules as propositions (not as functions) and builds proofs by combining rules. These operations constitute a meta-logic (or `logical framework') in…

Logic in Computer Science · Computer Science 2009-09-25 Lawrence C. Paulson

A theory of recursive and corecursive definitions has been developed in higher-order logic (HOL) and mechanized using Isabelle. Least fixedpoints express inductive data types such as strict lists; greatest fixedpoints express coinductive…

Logic in Computer Science · Computer Science 2007-05-23 Lawrence C. Paulson

We propose a framework for reasoning about programs that manipulate coinductive data as well as inductive data. Our approach is based on using equational programs, which support a seamless combination of computation and reasoning, and using…

Computational Complexity · Computer Science 2012-01-06 Daniel Leivant , Ramyaa Ramyaa

In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrictions which guarantee termination for recursive functions and productivity for corecursive functions. However, many terminating and…

Logic in Computer Science · Computer Science 2008-07-10 Yves Bertot , Ekaterina Komendantskaya

Primitive recursion is a mature, well-understood topic in the theory and practice of programming. Yet its dual, primitive corecursion, is underappreciated and still seen as exotic. We aim to put them both on equal footing by giving a…

Programming Languages · Computer Science 2021-03-16 Paul Downen , Zena M. Ariola

We study nominal recursors from the literature on syntax with bindings and compare them with respect to expressiveness. The term "nominal" refers to the fact that these recursors operate on a syntax representation where the names of bound…

Logic in Computer Science · Computer Science 2023-11-15 Andrei Popescu

Using standard domain-theoretic fixed-points, we present an approach for defining recursive functions that are formulated in monadic style. The method works both in the simple option monad and the state-exception monad of Isabelle/HOL's…

Logic in Computer Science · Computer Science 2010-12-23 Alexander Krauss

We propose a novel approach to stream definition and manipulation. Our solution is based on two key ideas. Regular corecursion, which avoids non termination by detecting cyclic calls, is enhanced, by allowing in equations defining streams…

Programming Languages · Computer Science 2022-02-15 Davide Ancona , Pietro Barbieri , Elena Zucca

This paper outlines a general formal framework for reasoning systems, intended to support future analysis of inference architectures across domains. We model reasoning systems as structured tuples comprising phenomena, explanation space,…

Artificial Intelligence · Computer Science 2025-08-05 Saleh Nikooroo , Thomas Engel

We present a novel approach for teaching logic and the metatheory of logic to students who have some experience with functional programming. We define concepts in logic as a series of functional programs in the language of the proof…

Programming Languages · Computer Science 2022-07-27 Frederik Krogsdal Jacobsen , Jørgen Villadsen

A logic for specification and verification is derived from the axioms of Zermelo-Fraenkel set theory. The proofs are performed using the proof assistant Isabelle. Isabelle is generic, supporting several different logics. Isabelle has the…

Logic in Computer Science · Computer Science 2008-02-03 Lawrence C. Paulson

Our aim here is to illustrate how the benefits of structural corecursion can be found in a broader swath of the programming landscape than previously thought. Beginning from a tutorial on structural corecursion in the total, pure functional…

Programming Languages · Computer Science 2021-03-15 Paul Downen , Zena M. Ariola

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

In many expert and everyday reasoning contexts it is very useful to reason on the basis of defeasible assumptions. For instance, if the information at hand is incomplete we often use plausible assumptions, or if the information is…

Logic in Computer Science · Computer Science 2018-04-25 AnneMarie Borg

We present a formalization of higher-order logic in the Isabelle proof assistant, building directly on the foundational framework Isabelle/Pure and developed to be as small and readable as possible. It should therefore serve as a good…

Logic in Computer Science · Computer Science 2024-04-09 Simon Tobias Lund , Jørgen Villadsen

Program equivalence is the fulcrum for reasoning about and proving properties of programs. For noninterference, for example, program equivalence up to the secrecy level of an observer is shown. A powerful enabler for such proofs are logical…

Programming Languages · Computer Science 2022-08-31 Farzaneh Derakhshan , Stephanie Balzer

Algebraic characterizations of the computational aspects of functions defined over the real numbers provide very effective tool to understand what computability and complexity over the reals, and generally over continuous spaces, mean. This…

Logic in Computer Science · Computer Science 2016-09-27 Olivier Bournez , Walid Gomaa , Emmanuel Hainry

Isabelle is a generic theorem prover, designed for interactive reasoning in a variety of formal theories. At present it provides useful proof procedures for Constructive Type Theory, various first-order logics, Zermelo-Fraenkel set theory,…

Logic in Computer Science · Computer Science 2008-02-03 Lawrence C. Paulson

Structural recursion is a common technique used by programmers in modern languages and is taught to introductory computer science students. But what about its dual, structural corecursion? Structural corecursion is an elegant technique,…

Programming Languages · Computer Science 2026-03-05 Zena M. Ariola , Paul Downen , Hugo Herbelin

Software tools of Automated Reasoning are too sophisticated for general use in mathematics education and respective reasoning, while Lucas-Interpretation provides a general concept for integrating such tools into educational software with…

Programming Languages · Computer Science 2020-11-02 Walther Neuper
‹ Prev 1 2 3 10 Next ›