English
Related papers

Related papers: General Recursion via Coinductive Types

200 papers

We introduce an operational rewriting-based semantics for strictly positive nested higher-order (co)inductive types. The semantics takes into account the "limits" of infinite reduction sequences. This may be seen as a refinement and…

Logic in Computer Science · Computer Science 2023-06-22 Łukasz Czajka

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

Bove and Capretta's popular method for justifying function definitions by general recursive equations is based on the observation that any structured general recursion equation defines an inductive subset of the intended domain (the "domain…

Logic in Computer Science · Computer Science 2012-02-17 Tarmo Uustalu

It is well known that general recursion cannot be expressed within Martin-Loef's type theory and various approaches have been proposed to overcome this problem still maintaining the termination of the computation of the typable terms. In…

Logic in Computer Science · Computer Science 2010-12-23 Claudio Sacerdoti Coen , Silvio Valentini

Type systems certify program properties in a compositional way. From a bigger program one can abstract out a part and certify the properties of the resulting abstract program by just using the type of the part that was abstracted away.…

Logic in Computer Science · Computer Science 2012-02-17 Andreas Abel

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 present an extension to the $\mathtt{mathlib}$ library of the Lean theorem prover formalizing the foundations of computability theory. We use primitive recursive functions and partial recursive functions as the main objects of study, and…

Logic in Computer Science · Computer Science 2019-07-19 Mario Carneiro

We describe a way to represent computable functions between coinductive types as particular transducers in type theory. This generalizes earlier work on functions between streams by P. Hancock to a much richer class of coinductive types.…

Logic in Computer Science · Computer Science 2023-06-22 Pierre Hyvernat

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

We develop a dependent type theory that is based purely on inductive and coinductive types, and the corresponding recursion and corecursion principles. This results in a type theory with a small set of rules, while still being fairly…

Logic in Computer Science · Computer Science 2016-05-10 Henning Basold , Herman Geuvers

In this survey article (which hitherto is an ongoing work-in-progress) we present the formulation of the induction and coinduction principles using the language and conventions of each of order theory, set theory, programming languages'…

Logic in Computer Science · Computer Science 2019-03-13 Moez A. AbdelGawad

Intensional computation derives concrete outputs from abstract function definitions; extensional computation defines functions through explicit input-output pairs. In formal semantics: intensional computation interprets expressions as…

Category Theory · Mathematics 2024-09-05 Daniel Quigley

Martin-L\"of's Intuitionistic Theory of Types is becoming popular for formal reasoning about computer programs. To handle recursion schemes other than primitive recursion, a theory of well-founded relations is presented. Using primitive…

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

The delay monad provides a way to introduce general recursion in type theory. To write programs that use a wide range of computational effects directly in type theory, we need to combine the delay monad with the monads of these effects.…

Logic in Computer Science · Computer Science 2025-10-15 Rasmus Ejlers Møgelberg , Maaike Zwart

In functional programming, datatypes a la carte provide a convenient modular representation of recursive datatypes, based on their initial algebra semantics. Unfortunately it is highly challenging to implement this technique in proof…

Logic in Computer Science · Computer Science 2015-09-11 Paolo Torrini , Tom Schrijvers

In reductive proof search, proofs are naturally generalized by solutions, comprising all possibly infinite structures generated by locally correct, bottom-up application of inference rules. We propose an extension of the Curry-Howard…

Logic in Computer Science · Computer Science 2021-07-30 José Espírito Santo , Ralph Matthes , Luís Pinto

We present the guarded lambda-calculus, an extension of the simply typed lambda-calculus with guarded recursive and coinductive types. The use of guarded recursive types ensures the productivity of well-typed programs. Guarded recursive…

Programming Languages · Computer Science 2015-01-16 Ranald Clouston , Aleš Bizjak , Hans Bugge Grathwohl , Lars Birkedal

Recently we presented a concise survey of the formulation of the induction and coinduction principles, and some concepts related to them, in programming languages type theory and four other mathematical disciplines. The presentation in type…

Logic in Computer Science · Computer Science 2019-03-14 Moez A. AbdelGawad

Inductive and coinductive types are commonly construed as ontological (Church-style) types, denoting canonical data-sets such as natural numbers, lists, and streams. For various purposes, notably the study of programs in the context of…

Logic in Computer Science · Computer Science 2015-07-01 Daniel M Leivant

To ensure decidability and consistency of its type theory, a proof assistant should only accept terminating recursive functions and productive corecursive functions. Most proof assistants enforce this through syntactic conditions, which can…

Logic in Computer Science · Computer Science 2026-05-01 Bastiaan Laarakker , Daniël Otten , Benno van den Berg
‹ Prev 1 2 3 10 Next ›