Results 1 
8 of
8
Hidden Coinduction: Behavioral Correctness Proofs for Objects
 Mathematical Structures in Computer Science
, 1999
"... This paper unveils and motivates an ambitious programme of hidden algebraic research in software engineering, beginning with our general goals, continuing with an overview of results, and including some future plans. The main contribution is powerful hidden coinduction techniques for proving behavio ..."
Abstract

Cited by 27 (8 self)
 Add to MetaCart
This paper unveils and motivates an ambitious programme of hidden algebraic research in software engineering, beginning with our general goals, continuing with an overview of results, and including some future plans. The main contribution is powerful hidden coinduction techniques for proving behavioral correctness of concurrent systems; several mechanical proofs are given using OBJ3. We also show how modularization, bisimulation, transition systems, concurrency and combinations of the functional, constraint, logic and object paradigms fit into hidden algebra. 1. Introduction
Metamorphisms: Streaming RepresentationChangers
, 2005
"... Unfolds generate data structures, and folds consume them. A hylomorphism is a fold after an unfold, generating then consuming a virtual data structure. A metamorphism is the opposite composition, an unfold after a fold; typically, it will convert from one data representation to another. In general, ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Unfolds generate data structures, and folds consume them. A hylomorphism is a fold after an unfold, generating then consuming a virtual data structure. A metamorphism is the opposite composition, an unfold after a fold; typically, it will convert from one data representation to another. In general, metamorphisms are less interesting than hylomorphisms: there is no automatic fusion to deforest the intermediate virtual data structure. However, under certain conditions fusion is possible: some of the work of the unfold can be done before all of the work of the fold is complete. This permits streaming metamorphisms, and among other things allows conversion of infinite data representations. We present a theory of metamorphisms and outline some examples.
DatatypeGeneric Reasoning
"... Abstract. Datatypegeneric programs are programs that are parameterised by a datatype. Designing datatypegeneric programs brings new challenges and new opportunities. We review the allegorical foundations of a methodology of designing datatypegeneric programs. The effectiveness of the methodology ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. Datatypegeneric programs are programs that are parameterised by a datatype. Designing datatypegeneric programs brings new challenges and new opportunities. We review the allegorical foundations of a methodology of designing datatypegeneric programs. The effectiveness of the methodology is demonstrated by an extraordinarily concise proof of the wellfoundedness of a datatypegeneric occursin relation.
unknown title
"... Oege de Moor, for his pleasant cooperation on the field of membership and fans. Althoughwe communicated almost exclusively via email it was as if we were sharing an office and working sidebyside. I enjoyed it a lot. My fellow Ph.D. student Henk Doornbos for many fruitful discussions and his willin ..."
Abstract
 Add to MetaCart
Oege de Moor, for his pleasant cooperation on the field of membership and fans. Althoughwe communicated almost exclusively via email it was as if we were sharing an office and working sidebyside. I enjoyed it a lot. My fellow Ph.D. student Henk Doornbos for many fruitful discussions and his willingness toserve as a &quot;klankbord&quot;.
A Pointless Derivation of Radix Sort
, 1998
"... This paper is about pointfree (or `pointless') calculations  calculations performed at the level of function composition instead of that of function application. We address this topic with the help of an example, namely calculating the radixsort algorithm from a more obvious specification ..."
Abstract
 Add to MetaCart
(Show Context)
This paper is about pointfree (or `pointless') calculations  calculations performed at the level of function composition instead of that of function application. We address this topic with the help of an example, namely calculating the radixsort algorithm from a more obvious specification of sorting. The message that we hope to send is that pointfree calculations are sometimes surprisingly simpler than the corresponding pointwise calculations. 1 Introduction This paper concerns algorithms for sorting a list of items into lexical order. Given is a list of (total) functions ds, each of which extracts a `field' of information from an item. Two items x and y are lexically ordered with respect to ds if the lists of fields of x and y extracted by the functions ds are lexicographically ordered: ? ordered :: Ord b =? [a?b] ? a ? a ? Bool ? ordered [] x y = True ? ordered (d:ds) x y = d x ! d y  ? (d x == d y) && ordered ds x y Note that the fields themselves have to permit an...
Categorial Compositionality III: F(co)algebras and the Systematicity of Recursive Capacities in Human Cognition
, 2012
"... Human cognitive capacity includes recursively definable concepts, which are prevalent in domains involving lists, numbers, and languages. Cognitive science currently lacks a satisfactory explanation for the systematic nature of such capacities (i.e., why the capacity for some recursive cognitive abi ..."
Abstract
 Add to MetaCart
Human cognitive capacity includes recursively definable concepts, which are prevalent in domains involving lists, numbers, and languages. Cognitive science currently lacks a satisfactory explanation for the systematic nature of such capacities (i.e., why the capacity for some recursive cognitive abilities–e.g., finding the smallest number in a list–implies the capacity for certain others–finding the largest number, given knowledge of number order). The categorytheoretic constructs of initial Falgebra, catamorphism, and their duals, final coalgebra and anamorphism provide a formal, systematic treatment of recursion in computer science. Here, we use this formalism to explain the systematicity of recursive cognitive capacities without ad hoc assumptions (i.e., to the same explanatory standard used in our account of systematicity for nonrecursive capacities). The presence of an initial algebra/final coalgebra explains systematicity because all recursive cognitive capacities, in the domain of interest, factor through (are composed of) the same component process. Moreover, this factorization is unique, hence no further (ad hoc) assumptions are required to establish the intrinsic connection between members of a group of systematicallyrelated capacities. This formulation also provides a new perspective on the relationship between recursive cognitive capacities. In particular, the link between number and language does not depend on recursion, as such, but on the underlying functor on which the group of recursive capacities is based. Thus, many species
Least and Greatest Fixed Points in Intuitionistic Natural Deduction
, 2002
"... This paper is a comparative study of a number of (intensionalsemantically distinct) least and greatest fixed point operators that naturaldeduction proof systems for intuitionistic logics can be extended with in a prooftheoretically defendable way. Eight pairs of such operators are analysed. The e ..."
Abstract
 Add to MetaCart
This paper is a comparative study of a number of (intensionalsemantically distinct) least and greatest fixed point operators that naturaldeduction proof systems for intuitionistic logics can be extended with in a prooftheoretically defendable way. Eight pairs of such operators are analysed. The exposition is centered around a cubeshaped classification where each node stands for an axiomatization of one pair of operators as logical constants by intended proof and reduction rules and each arc for a proof and reductionpreserving encoding of one pair in terms of another. The three dimensions of the cube reflect three orthogonal binary options: conventionalstyle vs. Mendlerstyle, basic (``[co]iterative'') vs. enhanced (``primitive[co]recursive''), simple vs. courseofvalue [co]induction. Some of the axiomatizations and encodings are wellknown; others, however, are novel; the classification into a cube is also new. The differences between the least fixed point operators considered are illustrated on the example of the corresponding natural number types.