Results 1 
8 of
8
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 wellestablished importance in computer science. Formally, they are initial algebras. Induction is used both as a definition pr ..."
Abstract

Cited by 228 (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 wellestablished 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 nonwellfounded sets) are generally of this kind. In general, dynamical systems with a hidden, blackbox 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...
Structural Induction and Coinduction in a Fibrational Setting
 Information and Computation
, 1997
"... . We present a categorical logic formulation of induction and coinduction principles for reasoning about inductively and coinductively defined types. Our main results provide sufficient criteria for the validity of such principles: in the presence of comprehension, the induction principle for in ..."
Abstract

Cited by 67 (14 self)
 Add to MetaCart
. We present a categorical logic formulation of induction and coinduction principles for reasoning about inductively and coinductively defined types. Our main results provide sufficient criteria for the validity of such principles: in the presence of comprehension, the induction principle for initial algebras is admissible, and dually, in the presence of quotient types, the coinduction principle for terminal coalgebras is admissible. After giving an alternative formulation of induction in terms of binary relations, we combine both principles and obtain a mixed induction/coinduction principle which allows us to reason about minimal solutions X = oe(X) where X may occur both positively and negatively in the type constructor oe. We further strengthen these logical principles to deal with contexts and prove that such strengthening is valid when the (abstract) logic we consider is contextually/functionally complete. All the main results follow from a basic result about adjunc...
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 objectoriented programming: they provide access to the type (or st ..."
Abstract

Cited by 30 (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 objectoriented 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 singletyped algebras, but in computer science one more naturally uses manytyped algebras like 1 ! list(A), A \Theta l...
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 17 (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 wellestablished 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...
Consistency of the Theory of Contexts
, 2001
"... The Theory of Contexts is a typetheoretic axiomatization which has been recently proposed by some of the authors for giving a metalogical account of the fundamental notions of variable and context as they appear in Higher Order Abstract Syntax. In this paper, we prove that this theory is consistent ..."
Abstract

Cited by 12 (3 self)
 Add to MetaCart
The Theory of Contexts is a typetheoretic axiomatization which has been recently proposed by some of the authors for giving a metalogical account of the fundamental notions of variable and context as they appear in Higher Order Abstract Syntax. In this paper, we prove that this theory is consistent by building a model based on functor categories. By means of a suitable notion of forcing, we prove that this model validates Classical Higher Order Logic, the Theory of Contexts, and also (parametrised) structural induction and recursion principles over contexts. The approach we present in full detail should be useful also for reasoning on other models based on functor categories. Moreover, the construction could be adopted, and possibly generalized, also for validating other theories of names and binders. Contents 1 The object language 4 2 The metalanguage (Framework System #) 6 2.1 Syntax 6 2.2 Typing and logical judgements 7 2.3 Adequacy of the encoding 8 2.4 Remarks on the design of # 9 3 Categorytheoretic preliminaries 11 4.1 The ambient categories 4.2 Interpreting types 16 4.3 Interpreting environments 18 4.4 Interpreting the typing judgement of terms 19 4.5 Interpreting logical judgements 21 is a model of # 22 5.1 Forcing 22 5.2 Characterisation of Leibniz equality 23 models logical axioms and rules 26 models the Theory of Contexts 27 6 Recursion 28 6.1 Firstorder recursion 28 6.2 Higherorder recursion 31 7 Induction 33 7.1 Firstorder induction 34 7.2 Higherorder induction 37 8 Connections with tripos theory 38 9 Related work 41 9.1 Semantics based on functor categories 41 9.2 Logics for nominal calculi 44 10 Conclusions 45 A Proofs 46 A.1 Proof of Proposition 4.2 46 A.2 Proof of Proposition 4.3 47 A.3 Proof of Theorem 5.1 48 A.4 Proof of...
Decomposing Typed Lambda Calculus Into a Couple of Categorical Programming Languages
 Proc. CTCS , Lect. Notes in Computer Science 953
, 1995
"... . We give two categorical programming languages with variable arrows and associated abstraction/reduction mechanisms, which extend the possibility of categorical programming [Hag87, CF92] in practice. These languages are complementary to each other  one of them provides a firstorder programming s ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
. We give two categorical programming languages with variable arrows and associated abstraction/reduction mechanisms, which extend the possibility of categorical programming [Hag87, CF92] in practice. These languages are complementary to each other  one of them provides a firstorder programming style whereas the other does higherorder  and are "children" of the simply typed lambda calculus in the sense that we can decompose typed lambda calculus into them and, conversely, the combination of them is equivalent to typed lambda calculus. This decomposition is a consequence of a semantic analysis on typed lambda calculus due to C. Hermida and B. Jacobs [HJ94]. 1 Introduction There have been several attempts applying category theory to designing programming languages directly, especially to typed functional programming languages, since category theory itself has been a typed functional language for various mathematics. If one (possibly a programmer or a mathematician) can regard a cat...
Unifying ADT and Evolving Algebra Specifications
 EATCS Bulletin
, 1996
"... It is the aim of this paper to demonstrate that the notion of Dialgebras, introduced by T. Hagino, may be used to unify algebraic specifications of ADT's with the basic ideas of evolving algebras (Ealgebras for short) which use static algebras as states of dynamic systems. The resulting specif ..."
Abstract
 Add to MetaCart
It is the aim of this paper to demonstrate that the notion of Dialgebras, introduced by T. Hagino, may be used to unify algebraic specifications of ADT's with the basic ideas of evolving algebras (Ealgebras for short) which use static algebras as states of dynamic systems. The resulting specification formalism is based on initial and terminal constraints of quasi varieties of Dialgebras. Initial constraints define abstract data types and terminal constraints define types of behaviors of abstract machines. The layered use of initial and terminal constraints leads to specifications of systems.
Van Kampen colimits as bicolimits in Span
"... The exactness properties of coproducts in extensive categories and pushouts along monos in adhesive categories have found various applications in theoretical computer science, e.g. in program semantics, data type theory and rewriting. We show that these properties can be understood as a single unive ..."
Abstract
 Add to MetaCart
The exactness properties of coproducts in extensive categories and pushouts along monos in adhesive categories have found various applications in theoretical computer science, e.g. in program semantics, data type theory and rewriting. We show that these properties can be understood as a single universal property in the associated bicategory of spans. To this end, we first provide a general notion of Van Kampen cocone that specialises to the above colimits. The main result states that Van Kampen cocones can be characterised as exactly those diagrams in C that induce bicolimit diagrams in the bicategory of spans Span C, provided that C has pullbacks and enough colimits.