English
Related papers

Related papers: General Recursion via Coinductive Types

200 papers

We present a formalization of a version of Abadi and Plotkin's logic for parametricity for a polymorphic dual intuitionistic/linear type theory with fixed points, and show, following Plotkin's suggestions, that it can be used to define a…

Logic in Computer Science · Computer Science 2017-01-11 Lars Birkedal , Rasmus E. Møgelberg , Rasmus Lerchedahl Petersen

We present a unified theory for formal mathematical systems including recursive systems closely related to formal grammars, including the predicate calculus as well as a formal induction principle. We introduce recursive systems generating…

Logic · Mathematics 2021-12-21 Matthias Kunik

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…

Logic in Computer Science · Computer Science 2019-03-14 Ranald Clouston , Aleš Bizjak , Hans Bugge Grathwohl , Lars Birkedal

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

We develop a compositional framework for generalized reversible computing using copy-discard categories and resource theories. We introduce partitioned matrices between partitioned sets as subdistribution matrices which preserve the…

Category Theory · Mathematics 2025-11-18 Clémence Chanavat , Priyaa Varshinee Srinivasan

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

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

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

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

This paper introduces the notion of referring forms as a new metric for analyzing sequential circuits from a functional perspective. Sequential circuits are modeled as causal stream functions, the outputs of which depend solely on the past…

Hardware Architecture · Computer Science 2025-01-22 Shunji Nishimura

We propose a method to adapt functional logic programming to deal with reasoning on coinductively interpreted programs as well as on inductively interpreted programs. In order to do so, we consider a class of objects interesting for this…

Programming Languages · Computer Science 2012-03-06 Ronald de Haan

Guarded recursion is a powerful modal approach to recursion that can be seen as an abstract form of step-indexing. It is currently used extensively in separation logic to model programming languages with advanced features by solving domain…

Logic in Computer Science · Computer Science 2022-06-06 Magnus Baunsgaard Kristensen , Rasmus Ejlers Møgelberg , Andrea Vezzosi

In sequential functional languages, sized types enable termination checking of programs with complex patterns of recursion in the presence of mixed inductive-coinductive types. In this paper, we adapt sized types and their metatheory to the…

Programming Languages · Computer Science 2024-04-16 Siva Somayyajula , Frank Pfenning

We investigate partial functions and computability theory from within a constructive, univalent type theory. The focus is on placing computability into a larger mathematical context, rather than on a complete development of computability…

Logic in Computer Science · Computer Science 2020-11-03 Cory Knapp

We consider type inference for guarded recursive data types (GRDTs) -- a recent generalization of algebraic data types. We reduce type inference for GRDTs to unification under a mixed prefix. Thus, we obtain efficient type inference.…

Programming Languages · Computer Science 2007-05-23 Peter J. Stuckey , Martin Sulzmann

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

In recent work we have shown how it is possible to define very precise type systems for object-oriented languages by abstractly compiling a program into a Horn formula f. Then type inference amounts to resolving a certain goal w.r.t. the…

Programming Languages · Computer Science 2010-06-09 Davide Ancona , Giovanni Lagorio

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

Fixpoint operators are tools to reason on recursive programs and data types obtained by induction (e.g. lists, trees) or coinduction (e.g. streams). They were given a categorical treatment with the notion of categories with fixpoints. A…

Logic in Computer Science · Computer Science 2023-06-07 Zeinab Galal

Recent algorithmic advances in algebraic automata theory drew attention to semigroupoids (semicategories). These are mathematical descriptions of typed computational processes, but they have not been studied systematically in the context of…

Formal Languages and Automata Theory · Computer Science 2025-09-30 Attila Egri-Nagy , Chrystopher L. Nehaniv