## A Tutorial on (Co)Algebras and (Co)Induction (1997)

### Cached

### Download Links

- [tfs.cs.tu-berlin.de]
- [www.cse.unsw.edu.au]
- CiteULike

### Other Repositories/Bibliography

Venue: | EATCS Bulletin |

Citations: | 228 - 34 self |

### BibTeX

@ARTICLE{Jacobs97atutorial,

author = {Bart Jacobs and Jan Rutten},

title = {A Tutorial on (Co)Algebras and (Co)Induction},

journal = {EATCS Bulletin},

year = {1997},

volume = {62},

pages = {62--222}

}

### Years of Citing Articles

### OpenURL

### Abstract

. Algebraic structures which are generated by a collection of constructors--- like natural numbers (generated by a zero and a successor) or finite lists and trees--- are of well-established importance in computer science. Formally, they are initial algebras. Induction is used both as a definition principle, and as a proof principle for such structures. But there are also important dual "coalgebraic" structures, which do not come equipped with constructor operations but with what are sometimes called "destructor" operations (also called observers, accessors, transition maps, or mutators). Spaces of infinite data (including, for example, infinite lists, and non-well-founded sets) are generally of this kind. In general, dynamical systems with a hidden, black-box state space, to which a user only has limited access via specified (observer or mutator) operations, are coalgebras of various kinds. Such coalgebraic systems are common in computer science. And "coinduction" is the appropriate te...

### Citations

1115 |
The Lambda Calculus: Its Syntax and Semantics
- Barendregt
- 1981
(Show Context)
Citation Context ... describe a functional dependence on ff is via a so-called monoid action : X \Theta R0 ! X satisfying (s; 0) = s and (s; ff + fi) = ((s; ff); fi), see [36]. 3 In personal communication, the author of =-=[7]-=-, Henk Barendregt, said that at the time of writing this definition of Bohm trees he felt slightly uncomfortable about the nature of the definition. He saw it as a possibly infinite process, which is ... |

500 |
T.: Introduction to HOL: A Theorem Proving Environment for Higher Order Logic: Cambridge
- Melham
- 1993
(Show Context)
Citation Context ... wishes to automatically generate various rules associated with (co)inductively defined types (for example in programming languages like charity [15, 16] or in proof tools like pvs [52], hol/isabelle =-=[27, 49, 55, 56]-=-, or coq [54]). Another great advantage of the initial algebra format is that it is dual to the final coalgebra format, as we shall see in the next section. This forms the basis for the duality betwee... |

394 |
Category Theory for Computing Science
- Barr, Wells
- 1999
(Show Context)
Citation Context ... to further pursue the topic of this tutorial to study category theory in greater detail. Among the many available texts on category theory, [57, 68, 4] are recommended as easy-going starting points, =-=[9, 18, 41]-=- as more substantial texts, and [42, 13] as advanced reference texts. This tutorial starts with some introductory expositions in Sections 2 -- 4. The technical material in the subsequent sections is o... |

273 |
An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types
- Goguen, Thatcher, et al.
- 1978
(Show Context)
Citation Context ...r) operations, This paper is published in: EATCS Bulletin 62 (1997), p.222--259. 1 and it is for this reason that "initiality" of algebras plays such an important role (as first clearly emph=-=asised in [26]-=-). See for example [19, 71, 70] for more information. Standard algebraic techniques have proved useful in capturing various essential aspects of data structures used in computer science. But it turned... |

201 |
Non-Well-Founded Sets
- Aczel
- 1988
(Show Context)
Citation Context ...oinduction. There is no single reference in which this link between state-based dynamical systems and coalgebra is made explicitly (with all its ramifications), but important insights can be found in =-=[21, 69, 5, 25, 40, 1, 2, 51, 15, 58, 63, 64, 61, 20, 37, 35, 34, 67, 65, 38]-=-. This list is incomplete and does not do justice to the various contributors to this area, but it hopefully gives the reader an impression of some of the developments. These notions of coalgebra and ... |

162 |
A nal coalgebra theorem
- Aczel, Mendler
- 1989
(Show Context)
Citation Context ...oinduction. There is no single reference in which this link between state-based dynamical systems and coalgebra is made explicitly (with all its ramifications), but important insights can be found in =-=[21, 69, 5, 25, 40, 1, 2, 51, 15, 58, 63, 64, 61, 20, 37, 35, 34, 67, 65, 38]-=-. This list is incomplete and does not do justice to the various contributors to this area, but it hopefully gives the reader an impression of some of the developments. These notions of coalgebra and ... |

129 |
Terminal coalgebras in well-founded set theory, Theoret
- Barr
- 1993
(Show Context)
Citation Context ...rvations for transition systems of the form X ! P f (A \Theta X) can be constructed by quotienting the space of observations of transition systems X ! (A \Theta X) ? with respect to bisimulation, see =-=[8]-=- for categorical details, or also [64] for some more explanations. Bisimulation with respect to this functor will be described in Example 7.1. What is left is the general situation of arbitrary, not n... |

124 |
Algebraic Specification I
- Ehrig, Mahr
- 1985
(Show Context)
Citation Context ...er is published in: EATCS Bulletin 62 (1997), p.222--259. 1 and it is for this reason that "initiality" of algebras plays such an important role (as first clearly emphasised in [26]). See fo=-=r example [19, 71, 70]-=- for more information. Standard algebraic techniques have proved useful in capturing various essential aspects of data structures used in computer science. But it turned out to be difficult to algebra... |

85 | Towards an algebraic semantics for the object paradigm
- GOGUEN, DIACONESCU
- 1994
(Show Context)
Citation Context ...e of the terms of the language. The latter means that the set of terms of the language is used as (initial) algebra. See [64, 67] for an investigation of this perspective. Hidden sorted algebras, see =-=[23, 22, 14, 24, 44] can be seen as othe-=-r examples: they involve "algebras" with "invisible" sorts, playing a (coalgebraic) role of a state space. Coinduction is used to reason about such hidden state spaces, see [24]. 3... |

68 |
Solving reflexive domain equations in a category of complete metric spaces
- America, Rutten
- 1989
(Show Context)
Citation Context ...amical systems to answer some of such questions, called symbolic dynamics (cf. [11]), can be described elegantly in the theory of coalgebras, using amongst others techniques from metric domain theory =-=[3, 63]-=-. The interested reader is referred to [65] for further details, which are outside the scope of the present tutorial. In this series of examples of coalgebras we see each time a state space X about wh... |

67 | Structural induction and coinduction in a fibrational setting
- Hermida, Jacobs
- 1998
(Show Context)
Citation Context ...is principle is immediate by finality. The reader is referred to [65] for further examples of definitions and proofs by coinduction. There exist other formalisations of the notion of bisimulation. In =-=[28, 29]-=- a bisimulation is described as a coalgebra in a category of relations, for a suitably lifted functor (associated with the original functor T ). And in [39] bisimulations occur as suitable spans. But ... |

66 |
Universal realization, persistent interconnection and implementation of abstract modules
- Goguen, Meseguer
- 1982
(Show Context)
Citation Context ...oinduction. There is no single reference in which this link between state-based dynamical systems and coalgebra is made explicitly (with all its ramifications), but important insights can be found in =-=[21, 69, 5, 25, 40, 1, 2, 51, 15, 58, 63, 64, 61, 20, 37, 35, 34, 67, 65, 38]-=-. This list is incomplete and does not do justice to the various contributors to this area, but it hopefully gives the reader an impression of some of the developments. These notions of coalgebra and ... |

48 |
Strong Categorical Datatypes I
- Cockett, Spencer
- 1991
(Show Context)
Citation Context |

42 |
Control Flow Semantics
- Bakker, Vink
- 1996
(Show Context)
Citation Context ...data type theory [21, 25, 5, 40] (including the theory of classes and objects in objectoriented programming [61, 30, 37, 35]), semantics of programming languages [46] (denotational versus operational =-=[64, 67, 6]-=-) and of lambda-calculi [58, 59, 20, 31], automata theory [53], system theory [65, 34], natural language theory [10, 62] and many other fields. We assume that the reader is familiar with definitions a... |

37 | A coinduction principle for recursive data types based on bisimulation
- Fiore
- 1996
(Show Context)
Citation Context |

37 | A unifying type-theoretic framework for objects
- Hofmann, Pierce
- 1994
(Show Context)
Citation Context ...ay be described as construction versus observation. It may be found in process theory [50], data type theory [21, 25, 5, 40] (including the theory of classes and objects in objectoriented programming =-=[61, 30, 37, 35]-=-), semantics of programming languages [46] (denotational versus operational [64, 67, 6]) and of lambda-calculi [58, 59, 20, 31], automata theory [53], system theory [65, 34], natural language theory [... |

30 | Mongruences and cofree coalgebras
- Jacobs
- 1995
(Show Context)
Citation Context ...are predicates which are closed under the coalgebra's destructors (or transitions). Equivalently, predicates which carry (as subsets) a subcoalgebra structure. They were first called "mongruences=-=" in [32] (in analo-=-gy with congruences), but "invariants" [38] appears to be a better name, since if such a predicate holds for a state x, then it also holds for all successors of x. Such predicates are descri... |

27 | Proof of correctness of object representations
- Goguen, Malcolm
- 1994
(Show Context)
Citation Context ...e of the terms of the language. The latter means that the set of terms of the language is used as (initial) algebra. See [64, 67] for an investigation of this perspective. Hidden sorted algebras, see =-=[23, 22, 14, 24, 44] can be seen as othe-=-r examples: they involve "algebras" with "invisible" sorts, playing a (coalgebraic) role of a state space. Coinduction is used to reason about such hidden state spaces, see [24]. 3... |

26 | Symbolic dynamics and finite automata
- Béal, Perrin
- 1997
(Show Context)
Citation Context ...re close, that is, dX (x; y) is small. As it turns out, at least one important technique that is used in the world of dynamical systems to answer some of such questions, called symbolic dynamics (cf. =-=[11]-=-), can be described elegantly in the theory of coalgebras, using amongst others techniques from metric domain theory [3, 63]. The interested reader is referred to [65] for further details, which are o... |

23 |
Structure and Functors: The Categorical Imperative
- Arbib, Manes, et al.
- 1975
(Show Context)
Citation Context ...ut we definitely encourage the interested reader who wishes to further pursue the topic of this tutorial to study category theory in greater detail. Among the many available texts on category theory, =-=[57, 68, 4]-=- are recommended as easy-going starting points, [9, 18, 41] as more substantial texts, and [42, 13] as advanced reference texts. This tutorial starts with some introductory expositions in Sections 2 -... |

20 |
Parametrized Data Types Do Not Need Highly
- Arbib, Manes
- 1982
(Show Context)
Citation Context |

18 |
Handbook of Categorical Algebra, volume 50, 51 and 52 of Encyclopedia of Mathematics. Cambridge Univ
- Borceux
- 1994
(Show Context)
Citation Context ...al to study category theory in greater detail. Among the many available texts on category theory, [57, 68, 4] are recommended as easy-going starting points, [9, 18, 41] as more substantial texts, and =-=[42, 13]-=- as advanced reference texts. This tutorial starts with some introductory expositions in Sections 2 -- 4. The technical material in the subsequent sections is organised as follows. 1. The starting poi... |

18 | Hiding and behaviour: an institutional approach
- Burstall, Diaconescu
- 1992
(Show Context)
Citation Context ...e of the terms of the language. The latter means that the set of terms of the language is used as (initial) algebra. See [64, 67] for an investigation of this perspective. Hidden sorted algebras, see =-=[23, 22, 14, 24, 44] can be seen as othe-=-r examples: they involve "algebras" with "invisible" sorts, playing a (coalgebraic) role of a state space. Coinduction is used to reason about such hidden state spaces, see [24]. 3... |

18 |
Strong categorical datatypes II: A term logic for categorical programming
- Cockett, Spencer
- 1995
(Show Context)
Citation Context ...s obtained via this scheme can be used in the oe i . 20 wishes to automatically generate various rules associated with (co)inductively defined types (for example in programming languages like charity =-=[15, 16]-=- or in proof tools like pvs [52], hol/isabelle [27, 49, 55, 56], or coq [54]). Another great advantage of the initial algebra format is that it is dual to the final coalgebra format, as we shall see i... |

18 |
Categories for Types. Cambridge Mathematical Textbooks
- Crole
- 1993
(Show Context)
Citation Context ... to further pursue the topic of this tutorial to study category theory in greater detail. Among the many available texts on category theory, [57, 68, 4] are recommended as easy-going starting points, =-=[9, 18, 41]-=- as more substantial texts, and [42, 13] as advanced reference texts. This tutorial starts with some introductory expositions in Sections 2 -- 4. The technical material in the subsequent sections is o... |

10 |
Universal algebra, volume 6 of Mathematics and its Applications
- Cohn
- 1981
(Show Context)
Citation Context ...s a part of algebra in which algebraic structures are studied at a high level of abstraction and in which general notions like homomorphism, subalgebra, congruence are studied in themselves, see e.g. =-=[17, 48, 70]-=-. A further step up the abstraction ladder is taken when one studies algebra with the notions and tools from category theory. This approach leads to a particularly concise notion of what is an algebra... |

10 |
Observability concepts in abstract data specifications
- Giarrantana, Gimona, et al.
- 1976
(Show Context)
Citation Context |

10 |
An extended abstract of a hidden agenda
- Goguen, Malcolm
- 1996
(Show Context)
Citation Context |

10 |
Final Semantics for untyped -calculus
- Honsell
- 1995
(Show Context)
Citation Context ...ncluding the theory of classes and objects in objectoriented programming [61, 30, 37, 35]), semantics of programming languages [46] (denotational versus operational [64, 67, 6]) and of lambda-calculi =-=[58, 59, 20, 31]-=-, automata theory [53], system theory [65, 34], natural language theory [10, 62] and many other fields. We assume that the reader is familiar with definitions and proofs by (ordinary) induction. As a ... |

9 | B.: An algebraic view of structural induction
- Hermida, Jacobs
- 1995
(Show Context)
Citation Context ...is principle is immediate by finality. The reader is referred to [65] for further examples of definitions and proofs by coinduction. There exist other formalisations of the notion of bisimulation. In =-=[28, 29]-=- a bisimulation is described as a coalgebra in a category of relations, for a suitably lifted functor (associated with the original functor T ). And in [39] bisimulations occur as suitable spans. But ... |

9 | Coalgebraic specifications and models of deterministic hybrid systems
- Jacobs
- 1996
(Show Context)
Citation Context |

8 |
Parameters and parametrization in specification, using distributive categories
- Jacobs
- 1995
(Show Context)
Citation Context ...lffl plus // 1 + N N [x: x; f: x: S(f(x))] fflffl N plus // N N This says that plus(0) = x: x and plus(n + 1) = x: S(plus(n)(x)): 21 Alternatively, one may formulate initiality "with parameters&q=-=uot;, see [15, 33], so that -=-one can handle such functions U \Theta D ! V directly. 6 Coalgebras and coinduction In Section 4 we have seen that a "co"-product + behaves like a product \Theta, except that the arrows poin... |

1 |
Algebra of Programmming
- Bird, Moor
- 1996
(Show Context)
Citation Context ... yields certain canonical equations, which can be used for reasoning, e.g. in correctness proofs. This has been developed into a programming methodology by Bird and Meertens, see the recent reference =-=[12]-=- for more information (mostly involving initiality) and further references. In this context, finality was first used in [47]. Actual programming purely on the basis of initiality and finality can be d... |