Results 1  10
of
15
NonDeterministic Kleene Coalgebras
"... In this paper, we present a systematic way of deriving (1) languages of (generalised) regular expressions, and (2) sound and complete axiomatizations thereof, for a wide variety of systems. This generalizes both the results of Kleene (on regular languages and deterministic finite automata) and Miln ..."
Abstract

Cited by 25 (9 self)
 Add to MetaCart
In this paper, we present a systematic way of deriving (1) languages of (generalised) regular expressions, and (2) sound and complete axiomatizations thereof, for a wide variety of systems. This generalizes both the results of Kleene (on regular languages and deterministic finite automata) and Milner (on regular behaviours and finite labelled transition systems), and includes many other systems such as Mealy and Moore machines.
Recursive coalgebras from comonads
 Inform. and Comput
, 2006
"... The concept of recursive coalgebra of a functor was introduced in the 1970s by Osius in his work on categorical set theory to discuss the relationship between wellfounded induction and recursively specified functions. In this paper, we motivate the use of recursive coalgebras as a paradigm of struct ..."
Abstract

Cited by 14 (3 self)
 Add to MetaCart
(Show Context)
The concept of recursive coalgebra of a functor was introduced in the 1970s by Osius in his work on categorical set theory to discuss the relationship between wellfounded induction and recursively specified functions. In this paper, we motivate the use of recursive coalgebras as a paradigm of structured recursion in programming semantics, list some basic facts about recursive coalgebras and, centrally, give new conditions for the recursiveness of a coalgebra based on comonads, comonadcoalgebras and distributive laws of functors over comonads. We also present an alternative construction using countable products instead of cofree comonads.
Language Constructs for NonWellFounded Computation
"... Recursive functions defined on a coalgebraic datatype C may not converge if there are cycles in the input, that is, if the input object is not wellfounded. Even so, there is often a useful solution; for example, the free variables of an infinitary λterm, or the expected running time of a finitest ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
(Show Context)
Recursive functions defined on a coalgebraic datatype C may not converge if there are cycles in the input, that is, if the input object is not wellfounded. Even so, there is often a useful solution; for example, the free variables of an infinitary λterm, or the expected running time of a finitestate probabilistic protocol. Theoretical models of recursion schemes have been well studied under the names wellfounded coalgebras, recursive coalgebras [2], corecursive algebras [4], and Elgot algebras [1]. Much of this work focuses on conditions ensuring unique or canonical solutions, e.g. when C is wellfounded. If C is not wellfounded, then there can be multiple solutions. The standard semantics of recursive programs gives a particular solution, namely the least solution in a flat Scott domain, which may not be the one we want. Unfortunately, current programming
Presentation of set functors: a coalgebraic perspective
"... Abstract. Accessible set functors can be presented by signatures and equations as quotients of polynomial functors. We determine how preservation of pullbacks and other related properties (often applied in coalgebra) are re ected in the structure of the system of equations. 1. ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Accessible set functors can be presented by signatures and equations as quotients of polynomial functors. We determine how preservation of pullbacks and other related properties (often applied in coalgebra) are re ected in the structure of the system of equations. 1.
Corecursive Algebras: A Study of General Structured Corecursion (Extended Abstract)
"... Abstract. We study general structured corecursion, dualizing the work of Osius, Taylor, and others on general structured recursion. We call an algebra of a functor corecursive if it supports general structured corecursion: there is a unique map to it from any coalgebra of the same functor. The conce ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We study general structured corecursion, dualizing the work of Osius, Taylor, and others on general structured recursion. We call an algebra of a functor corecursive if it supports general structured corecursion: there is a unique map to it from any coalgebra of the same functor. The concept of antifounded algebra is a statement of the bisimulation principle. We show that it is independent from corecursiveness: Neither condition implies the other. Finally, we call an algebra focusing if its codomain can be reconstructed by iterating structural refinement. This is the strongest condition and implies all the others. 1
CoCaml: Programming with Coinductive Types
, 2012
"... We present CoCaml, a functional programming language extending OCaml, which allows us to define functions on coinductive datatypes parameterized by an equation solver. We provide numerous examples that attest to the usefulness of the new programming constructs, including operations on infinite lists ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We present CoCaml, a functional programming language extending OCaml, which allows us to define functions on coinductive datatypes parameterized by an equation solver. We provide numerous examples that attest to the usefulness of the new programming constructs, including operations on infinite lists, infinitary λterms and padic numbers.
Conjugate Hylomorphisms Or: The Mother of All Structured Recursion Schemes
"... The past decades have witnessed an extensive study of structured recursion schemes. A general scheme is the hylomorphism, which captures the essence of divideandconquer: a problem is broken into subproblems by a coalgebra; subproblems are solved recursively; the subsolutions are combined by an ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
The past decades have witnessed an extensive study of structured recursion schemes. A general scheme is the hylomorphism, which captures the essence of divideandconquer: a problem is broken into subproblems by a coalgebra; subproblems are solved recursively; the subsolutions are combined by an algebra to form a solution. In this paper we develop a simple toolbox for assembling recursive coalgebras, which by definition ensure that their hylo equations have unique solutions, whatever the algebra. Our main tool is the conjugate rule, a generic rule parametrized by an adjunction and a conjugate pair of natural transformations. We show that many basic adjunctions induce useful recursion schemes. In fact, almost every structured recursion scheme seems to arise as an instance of the conjugate rule. Further, we adapt our toolbox to the more expressive setting of parametrically recursive coalgebras, where the original input is also passed to the algebra. The formal development is complemented by a series of workedout examples in Haskell.
Coequational Logic for Accessible Functors
"... Covarieties of coalgebras are those classes of coalgebras for an endofunctor H on the category of sets that are closed under coproducts, subcoalgebras and quotients. Equivalently, covarieties are classes of Hcoalgebras that can be presented by coequations. Adámek introduced a logic of coequations ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Covarieties of coalgebras are those classes of coalgebras for an endofunctor H on the category of sets that are closed under coproducts, subcoalgebras and quotients. Equivalently, covarieties are classes of Hcoalgebras that can be presented by coequations. Adámek introduced a logic of coequations and proved soundness and completeness for all polynomial functors on the category of sets. Here this result is extended to accessible functors: given a presentation of an accessible functor H, simple deduction systems for coequations are formulated and it is shown that regularity of the presentation implies soundness and completeness of these deduction systems. The converse is true whenever H has a nontrivial terminal coalgebra. Also a method is found to obtain concrete descriptions of cofree (and thus terminal) coalgebras of accessible functors, and is applied to the finite and countable powerset functor as well as to the finite distribution functor.
Histo and Dynamorphisms Revisited
"... Dynamic programming algorithms embody a widely used programming technique that optimizes recursively defined equations that have repeating subproblems. The standard solution uses arrays to share common results between successive steps, and while effective, this fails to exploit the structural proper ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Dynamic programming algorithms embody a widely used programming technique that optimizes recursively defined equations that have repeating subproblems. The standard solution uses arrays to share common results between successive steps, and while effective, this fails to exploit the structural properties present in these problems. Histomorphisms and dynamorphisms have been introduced to expresses such algorithms in terms of structured recursion schemes that leverage this structure. In this paper, we revisit and relate these schemes and show how they can be expressed in terms of recursion schemes from comonads, as well as from recursive coalgebras. Our constructions rely on properties of bialgebras and dicoalgebras, and we are careful to consider optimizations and efficiency concerns. Throughout the paper we illustrate these techniques through several workedout examples discussed in a tutorial style, and show how a recursive specification can be expressed both as an arraybased algorithm as well as one that uses recursion schemes.
Sorting with Bialgebras and Distributive Laws
"... Sorting algorithms are an intrinsic part of functional programming folklore as they exemplify algorithm design using folds and unfolds. This has given rise to an informal notion of duality among sorting algorithms: insertion sorts are dual to selection sorts. Using bialgebras and distributive laws, ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Sorting algorithms are an intrinsic part of functional programming folklore as they exemplify algorithm design using folds and unfolds. This has given rise to an informal notion of duality among sorting algorithms: insertion sorts are dual to selection sorts. Using bialgebras and distributive laws, we formalise this notion within a categorical setting. We use types as a guiding force in exposing the recursive structure of bubble, insertion, selection, quick, tree, and heap sorts. Moreover, we show how to distill the computational essence of these algorithms down to onestep operations that are expressed as natural transformations. From this vantage point, the duality is clear, and one side of the algorithmic coin will neatly lead us to the other “for free”. As an optimisation, the approach is also extended to paramorphisms and apomorphisms, which allow for more efficient implementations of these algorithms than the corresponding folds and unfolds.