Results 1  10
of
20
An Algebraic Construction of Predicate Transformers
 Science of Computer Programming
, 1994
"... . In this paper we present an algebraic construction of monotonic predicate transformers, using a categorical construction which is similar to the algebraic construction of the integers from the natural numbers. When applied to the category of sets and total functions once, it yields a category isom ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
. In this paper we present an algebraic construction of monotonic predicate transformers, using a categorical construction which is similar to the algebraic construction of the integers from the natural numbers. When applied to the category of sets and total functions once, it yields a category isomorphic to the category of sets and relations; a second application yields a category isomorphic to the category of monotonic predicate transformers. This hierarchy cannot be extended further: the category of total functions is not itself an instance of the categorical construction, and can only be extended by it twice. 1 Introduction Predicate transformers were introduced originally by Dijkstra [8] in order to provide an elegant semantics for his programming language. Their strength lies in the fact that they can be used to model nondeterministic and nonterminating behaviour in terms of total functions, rather than relations. Not all monotonic predicate transformers represent programs in ...
A BiCategorical Axiomatisation of Concurrent Graph Rewriting
, 1999
"... In this paper the concurrent semantics of doublepushout (DPO) graph rewriting, which is classically defined in terms of shiftequivalence classes of graph derivations, is axiomatised via the construction of a free monoidal bicategory. In contrast to a previous attempt based on 2categories, the us ..."
Abstract

Cited by 18 (10 self)
 Add to MetaCart
In this paper the concurrent semantics of doublepushout (DPO) graph rewriting, which is classically defined in terms of shiftequivalence classes of graph derivations, is axiomatised via the construction of a free monoidal bicategory. In contrast to a previous attempt based on 2categories, the use of bicategories allows to define rewriting on concrete graphs. Thus, the problem of composition of isomorphism classes of rewriting sequences is avoided. Moreover, as a first step towards the recovery of the full expressive power of the formalism via a purely algebraic description, the concept of disconnected rules is introduced, i.e., rules whose interface graphs are made of disconnected nodes and edges only. It is proved that, under reasonable assumptions, rewriting via disconnected rules enjoys similar concurrency properties like in the classical approach.
Between Functions and Relations in Calculating Programs
, 1992
"... This thesis is about the calculational approach to programming, in which one derives programs from specifications. One such calculational paradigm is Ruby, the relational calculus developed by Jones and Sheeran for describing and designing circuits. We identify two shortcomings with derivations made ..."
Abstract

Cited by 15 (4 self)
 Add to MetaCart
This thesis is about the calculational approach to programming, in which one derives programs from specifications. One such calculational paradigm is Ruby, the relational calculus developed by Jones and Sheeran for describing and designing circuits. We identify two shortcomings with derivations made using Ruby. The first is that the notion of a program being an implementation of a specification has never been made precise. The second is to do with types. Fundamental to the use of type information in deriving programs is the idea of having types as special kinds of programs. In Ruby, types are partial equivalence relations (pers). Unfortunately, manipulating some formulae involving types has proved difficult within Ruby. In particular, the preconditions of the `induction' laws that are much used within program derivation often work out to be assertions about types; such assertions have typically been verified either by informal arguments or by using predicate calculus, rather than by ap...
Container Types Categorically
, 2000
"... A program derivation is said to be polytypic if some of its parameters are data types. Often these data types are container types, whose elements store data. Polytypic program derivations necessitate a general, noninductive definition of `container (data) type'. Here we propose such a definition: a ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
A program derivation is said to be polytypic if some of its parameters are data types. Often these data types are container types, whose elements store data. Polytypic program derivations necessitate a general, noninductive definition of `container (data) type'. Here we propose such a definition: a container type is a relator that has membership. It is shown how this definition implies various other properties that are shared by all container types. In particular, all container types have a unique strength, and all natural transformations between container types are strong. Capsule Review Progress in a scientific dicipline is readily equated with an increase in the volume of knowledge, but the true milestones are formed by the introduction of solid, precise and usable definitions. Here you will find the first generic (`polytypic') definition of the notion of `container type', a definition that is remarkably simple and suitable for formal generic proofs (as is amply illustrated in t...
Some Algebraic Laws for Spans (and Their Connections With MultiRelations)
 Proceedings of RelMiS 2001, Workshop on Relational Methods in Software. Electronic Notes in Theoretical Computer Science, n.44 v.3, Elsevier Science (2001
, 2001
"... This paper investigates some basic algebraic properties of the categories of spans and cospans (up to isomorphic supports) over the category Set of (small) sets and functions, analyzing the monoidal structures induced over both spans and cospans by the cartesian product and disjoint union of sets. O ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
This paper investigates some basic algebraic properties of the categories of spans and cospans (up to isomorphic supports) over the category Set of (small) sets and functions, analyzing the monoidal structures induced over both spans and cospans by the cartesian product and disjoint union of sets. Our results nd analogous counterparts in (and are partly inspired by) the theory of relational algebras, thus our paper also shed some light on the relationship between (co)spans and the categories of (multi)relations and of equivalence relations. And, since (co)spans yields an intuitive presentation in terms of dynamical system with input and output interfaces, our results introduce an expressive, twofold algebra that can serve as a specication formalism for rewriting systems and for composing software modules and open programs. Key words: Spans, multirelations, monoidal categories, system specications. Introduction The use of spans [1,6] (and of the dual notion of cospans) have been...
A View on Implementing Processes: Categories of Circuits
, 1996
"... . We construct a category of circuits: the objects are alphabets and the morphisms are deterministic automata. The construction differs in several respects from the bicategories of circuits appearing previously in the literature: it is parameterized by a monad which allows flexibility in the emergen ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
. We construct a category of circuits: the objects are alphabets and the morphisms are deterministic automata. The construction differs in several respects from the bicategories of circuits appearing previously in the literature: it is parameterized by a monad which allows flexibility in the emergent notion of process. We focus on the circuits which arise from a distributive category and the exception monad. These circuits are partial in that they may, based on their state, choose to abort on some inputs. Consequently, certain circuits determine languages, and safety and liveness properties with respect to these languages are captured by circuit equations. Actually, the notions of safety and liveness arise abstractly in any copy category. Extracting the category of circuits which are both safe and live corresponds to the extensive completion of a distributive copy category. Partial circuits coincide with elements of the terminal coalgebra of a specific datatype. The coinduction princ...
Between Dynamic Programming and Greedy: Data Compression
 Programming Research Group, 11 Keble Road, Oxford OX1 3QD
, 1995
"... The derivation of certain algorithms can be seen as a hybrid form of dynamic programming and the greedy paradigm. We present a generic theorem about such algorithms, and show how it can be applied to the derivation of an algorithm for data compression. 1 Introduction Dynamic programming is a techni ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
The derivation of certain algorithms can be seen as a hybrid form of dynamic programming and the greedy paradigm. We present a generic theorem about such algorithms, and show how it can be applied to the derivation of an algorithm for data compression. 1 Introduction Dynamic programming is a technique for solving optimisation problems. A typical dynamic programming algorithm proceeds by decomposing the input in all possible ways, recursively solving the subproblems, and combining optimal solutions to subproblems into an optimal solution for the whole problem. The greedy paradigm is also a technique for solving optimisation problems and differs from dynamic programming in that only one decomposition of the input is considered. Such a decomposition is usually chosen to maximise some objective function, and this explains the term `greedy'. In our earlier work, we have characterised the use of dynamic programming and the greedy paradigm, using the categorical calculus of relations to der...
Partial Functions, Ordered Categories, Limits and Cartesian Closure
 in: G. Birtwistle (ed), IV Higher Order Workshop
, 1993
"... Introduction Partial maps are naturally ordered according to their extent of definition. Constructions on partial maps should preserve this order so that as a component or module in a construction (such as pairing or composition) becomes more defined then so does the construct as a whole, without c ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Introduction Partial maps are naturally ordered according to their extent of definition. Constructions on partial maps should preserve this order so that as a component or module in a construction (such as pairing or composition) becomes more defined then so does the construct as a whole, without changing any of its existing values. Yet despite the vast literature devoted to partial maps (e.g. [3, 6, 7, 17, 18]) this principle of modularity has not been given systematic attention. To do so the partial maps must be viewed as the morphisms of an ordered category, and the theory of limits, etc. developed in this context. The usual limit theory is inadequate for ordered categories since even if the usual limits exist their constructions will typically violate the order. This can be rectified by the judicious replacement of equations by inequalities (previous approaches to this problem, e.g. lax limits, are inappropriate here). It is expected that these results will
Universal properties of Span
 in The Carboni Festschrift, Theory and Applications of Categories 13 (2005
"... Abstract. We give two related universal properties of the span construction. The first involves sinister morphisms out of the base category and sinister transformations. The second involves oplax morphisms out of the bicategory of spans having an extra property; we call these “jointed ” oplax morphi ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Abstract. We give two related universal properties of the span construction. The first involves sinister morphisms out of the base category and sinister transformations. The second involves oplax morphisms out of the bicategory of spans having an extra property; we call these “jointed ” oplax morphisms.