Results 1 -
7 of
7
A Tutorial on (Co)Algebras and (Co)Induction
- EATCS Bulletin
, 1997
"... . 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 pr ..."
Abstract
-
Cited by 214 (34 self)
- Add to MetaCart
. 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...
Mongruences and Cofree Coalgebras
- Algebraic Methods and Software Technology, number 936 in Lect. Notes Comp. Sci
, 1995
"... . A coalgebra is introduced here as a model of a certain signature consisting of a type X with various "destructor" function symbols, satisfying certain equations. These destructor function symbols are like methods and attributes in object-oriented programming: they provide access to the type (or st ..."
Abstract
-
Cited by 31 (10 self)
- Add to MetaCart
. A coalgebra is introduced here as a model of a certain signature consisting of a type X with various "destructor" function symbols, satisfying certain equations. These destructor function symbols are like methods and attributes in object-oriented programming: they provide access to the type (or state) X. We show that the category of such coalgebras and structure preserving functions is comonadic over sets. Therefore we introduce the notion of a `mongruence' (predicate) on a coalgebra. It plays the dual role of a congrence (relation) on an algebra. An algebra is a set together with a number of operations on this set which tell how to form (derived) elements in this set, possibly satisfying some equations. A typical example is a monoid, given by a set M with operations 1 ! M , M \Theta M ! M . Here 1 = f;g is a singleton set. In mathematics one usually considers only single-typed algebras, but in computer science one more naturally uses many-typed algebras like 1 ! list(A), A \Theta l...
Developing Theories of Types and Computability via Realizability
, 2000
"... We investigate the development of theories of types and computability via realizability. ..."
Abstract
-
Cited by 18 (6 self)
- Add to MetaCart
We investigate the development of theories of types and computability via realizability.
Proof Principles for Datatypes with Iterated Recursion
, 1997
"... . Data types like trees which are finitely branching and of (possibly) infinite depth are described by iterating initial algebras and terminal coalgebras. We study proof principles for such data types in the context of categorical logic, following and extending the approach of [14, 15]. The technica ..."
Abstract
-
Cited by 15 (3 self)
- Add to MetaCart
. Data types like trees which are finitely branching and of (possibly) infinite depth are described by iterating initial algebras and terminal coalgebras. We study proof principles for such data types in the context of categorical logic, following and extending the approach of [14, 15]. The technical contribution of this paper involves a description of initial algebras and terminal coalgebras in total categories of fibrations for lifted "datafunctors". These lifted functors are used to formulate our proof principles. We test these principles by proving some elementary results for four kinds of trees (with finite or infinite breadth or depth) using the proof tool pvs. 1 Introduction Algebras and coalgebras are of well-established importance in computer science, notably in the theory of datatypes, where especially initial algebras and terminal coalgebras play a distinguished role. Over the past decade there is more and more interest in the logic associated with initial algebras and ter...
Invariants, Bisimulations and the Correctness of Coalgebraic Refinements
- Techn. Rep. CSI-R9704, Comput. Sci. Inst., Univ. of Nijmegen
, 1997
"... . Coalgebraic specifications are used to formally describe the behaviour of classes in object-oriented languages. In this paper, a general notion of refinement between two such coalgebraic specifications is defined, capturing the idea that one "concrete" class specification realises the behaviour of ..."
Abstract
-
Cited by 9 (4 self)
- Add to MetaCart
. Coalgebraic specifications are used to formally describe the behaviour of classes in object-oriented languages. In this paper, a general notion of refinement between two such coalgebraic specifications is defined, capturing the idea that one "concrete" class specification realises the behaviour of the other, "abstract" class specification. Two (complete) proof-techniques are given to establish such refinements: one involving an invariant (a predicate that is closed under transitions) on the concrete class, and one involving a bisimulation (a relation that is closed under transitions) between the concrete and the abstract class. The latter can only be used if the abstract class is what we call totally specified. Parts of the underlying theory of invariants and bisimulations in a coalgebraic setting are included, involving least and greatest invariants and connections between invariants and bisimulations. Also, the proof-principles are illustrated in examples (which are fully formalise...
Coalgebraic Theories of Sequences in PVS
, 1998
"... This paper explains the setting of an extensive formalisation of the theory of sequences (finite and infinite lists of elements of some data type) in the Prototype Verification System pvs. This formalisation is based on the characterisation of sequences as a final coalgebra, which is used as an axi ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
This paper explains the setting of an extensive formalisation of the theory of sequences (finite and infinite lists of elements of some data type) in the Prototype Verification System pvs. This formalisation is based on the characterisation of sequences as a final coalgebra, which is used as an axiom. The resulting theories comprise standard operations on sequences like composition (or concatenation), filtering, flattening, and their properties. They also involve the prefix ordering and proofs that sequences form an algebraic complete partial order. The finality axiom gives rise to various reasoning principles, like bisimulation, simulation, invariance, and induction for admissible predicates. Most of the proofs of equality statements are based on bisimulations, and most of the proofs of prefix order statements use simulations. Some significant aspects of these theories are described in detail. This coalgebraic formalisation of sequences is presented as a concrete example that shows t...
Part II Local Realizability Toposes and a Modal Logic for
"... 5.1 Definition and Examples 5.1.1 Definition and Definability Results A tripos is a weak tripos with disjunction which has a (weak) generic object. Explicitly we define: ..."
Abstract
- Add to MetaCart
5.1 Definition and Examples 5.1.1 Definition and Definability Results A tripos is a weak tripos with disjunction which has a (weak) generic object. Explicitly we define:

