Results 1  10
of
14
Restriction categories I: Categories of partial maps
 Theoretical Computer Science
, 2001
"... ..."
Generic trace semantics via coinduction
 Logical Methods in Comp. Sci
, 2007
"... Abstract. Trace semantics has been defined for various kinds of statebased systems, notably with different forms of branching such as nondeterminism vs. probability. In this paper we claim to identify one underlying mathematical structure behind these “trace ..."
Abstract

Cited by 17 (6 self)
 Add to MetaCart
Abstract. Trace semantics has been defined for various kinds of statebased systems, notably with different forms of branching such as nondeterminism vs. probability. In this paper we claim to identify one underlying mathematical structure behind these “trace
A Coalgebraic Foundation for Linear Time Semantics
 In Category Theory and Computer Science
, 1999
"... We present a coalgebraic approach to trace equivalence semantics based on lifting behaviour endofunctors for deterministic action to Kleisli categories of monads for nondeterministic choice. In Set , this gives a category with ordinary transition systems as objects and with morphisms characterised ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
We present a coalgebraic approach to trace equivalence semantics based on lifting behaviour endofunctors for deterministic action to Kleisli categories of monads for nondeterministic choice. In Set , this gives a category with ordinary transition systems as objects and with morphisms characterised in terms of a linear notion of bisimulation. The final object in this category is the canonical abstract model for trace equivalence and can be obtained by extending the final coalgebra of the deterministic action behaviour to the Kleisli category of the nonempty powerset monad. The corresponding final coalgebra semantics is fully abstract with respect to trace equivalence.
Fusion of Recursive Programs with Computational Effects
 Theor. Comp. Sci
, 2000
"... Fusion laws permit to eliminate various of the intermediate data structures that are created in function compositions. The fusion laws associated with the traditional recursive operators on datatypes cannot in general be used to transform recursive programs with effects. Motivated by this fact, t ..."
Abstract

Cited by 14 (4 self)
 Add to MetaCart
Fusion laws permit to eliminate various of the intermediate data structures that are created in function compositions. The fusion laws associated with the traditional recursive operators on datatypes cannot in general be used to transform recursive programs with effects. Motivated by this fact, this paper addresses the definition of two recursive operators on datatypes that capture functional programs with effects. Effects are assumed to be modeled by monads. The main goal is thus the derivation of fusion laws for the new operators. One of the new operators is called monadic unfold. It captures programs (with effects) that generate a data structure in a standard way. The other operator is called monadic hylomorphism, and corresponds to programs formed by the composition of a monadic unfold followed by a function defined by structural induction on the data structure that the monadic unfold generates. 1 Introduction A common approach to program design in functional programmin...
Towards Merging Recursion and Comonads
, 2000
"... Comonads are mathematical structures that account naturally for effects that derive from the context in which a program is executed. This paper reports ongoing work on the interaction between recursion and comonads. Two applications are shown that naturally lead to versions of a comonadic fold op ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
Comonads are mathematical structures that account naturally for effects that derive from the context in which a program is executed. This paper reports ongoing work on the interaction between recursion and comonads. Two applications are shown that naturally lead to versions of a comonadic fold operator on the product comonad. Both versions capture functions that require extra arguments for their computation and are related with the notion of strong datatype. 1 Introduction One of the main features of recursive operators derivable from datatype definitions is that they impose a structure upon programs which can be exploited for program transformation. Recursive operators structure functional programs according to the data structures they traverse or generate and come equipped with a battery of algebraic laws, also derivable from type definitions, which are used in program calculations [24, 11, 5, 15]. Some of these laws, the socalled fusion laws, are particularly interesting in p...
Monadic Corecursion  Definition, Fusion Laws, and Applications
 Electronic Notes in Theoretical Computer Science
, 1998
"... This paper investigates corecursive definitions which are at the same time monadic. This corresponds to functions that generate a data structure following a corecursive process, while producing a computational effect modeled by a monad. We introduce a functional, called monadic anamorphism, that cap ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
This paper investigates corecursive definitions which are at the same time monadic. This corresponds to functions that generate a data structure following a corecursive process, while producing a computational effect modeled by a monad. We introduce a functional, called monadic anamorphism, that captures definitions of this kind. We also explore another class of monadic recursive functions, corresponding to the composition of a monadic anamorphism followed by (the lifting of) a function defined by structural recursion on the data structure that the monadic anamorphism generates. Such kind of functions are captured by socalled monadic hylomorphism. We present transformation laws for these monadic functionals. Two nontrivial applications are also described.
Categories for Synchrony and Asynchrony
, 1995
"... The purpose of this paper is to show how one may construct from a synchronous interaction category, such as SProc, a corresponding asynchronous version. Significantly, it is not a simple Kleisli construction, but rather arises due to particular properties of a monad combined with the existence of a ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
The purpose of this paper is to show how one may construct from a synchronous interaction category, such as SProc, a corresponding asynchronous version. Significantly, it is not a simple Kleisli construction, but rather arises due to particular properties of a monad combined with the existence of a certain type of distributive law. Following earlier work we consider those synchronous interaction categories which arise from model categories through a quotiented span construction: SProc arises in this way from labelled transition systems. The quotienting is determined by a cover system which expresses bisimulation. Asynchrony is introduced into a model category by a monad which, in the case of transition systems, adds the ability to idle. To form a process category atop this two further ingredients are required: pullbacks in the Kleisli category, and a cover system to express (weak) bisimulation. The technical results of the paper provide necessary and sufficient conditions for a Kleisli...
Combining a Monad and a Comonad
"... We give a systematic treatment of distributivity for a monad and a comonad as arises in giving category theoretic accounts of operational and denotational semantics, and in giving an intensional denotational semantics. We do this axiomatically, in terms of a monad and a comonad in a 2category, givi ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We give a systematic treatment of distributivity for a monad and a comonad as arises in giving category theoretic accounts of operational and denotational semantics, and in giving an intensional denotational semantics. We do this axiomatically, in terms of a monad and a comonad in a 2category, giving accounts of the EilenbergMoore and Kleisli constructions. We analyse the eight possible relationships, deducing that two pairs are isomorphic, but that the other pairs are all distinct. We develop those 2categorical denitions necessary to support this analysis. This work is supported by EPSRC grants GR/J84205: Frameworks for programming language semantics and logic and GR/M56333: The structure of programming languages : syntax and semantics, and British Council grant 747 FCS R34807: Data and program renement using algebraic structure. y The author acknowledges the support of STA through COE budget for Global Information Processing Project. 1 1 Introduction In recent years, th...
MONAD COMPOSITIONS I: GENERAL CONSTRUCTIONS AND RECURSIVE DISTRIBUTIVE LAWS
"... ABSTRACT. New techniques for constructing a distributive law of a monad over another are studied using submonads, quotient monads, product monads, recursivelydefined distributive laws, and linear equations. Sequel papers will consider distributive laws in closed categories and will construct monad ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
ABSTRACT. New techniques for constructing a distributive law of a monad over another are studied using submonads, quotient monads, product monads, recursivelydefined distributive laws, and linear equations. Sequel papers will consider distributive laws in closed categories and will construct monad approximations for compositions which fail to be a monad. 1.
Formal Relationships Between Geometrical and Classical Models for Concurrency
"... Abstract. A wide variety of models for concurrent programs has been proposed during the past decades, each one focusing on various aspects of computations: trace equivalence, causality between events, conflicts and schedules due to resource accesses, etc. More recently, models with a geometrical fla ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. A wide variety of models for concurrent programs has been proposed during the past decades, each one focusing on various aspects of computations: trace equivalence, causality between events, conflicts and schedules due to resource accesses, etc. More recently, models with a geometrical flavor have been introduced, based on the notion of cubical set. These models are very rich and expressive since they can represent commutation between any number of events, thus generalizing the principle of true concurrency. While they seem to be very promising – because they make possible the use of techniques from algebraic topology in order to study concurrent computations – they have not yet been precisely related to the previous models, and the purpose of this paper is to fill this gap. In particular, we describe an adjunction between Petri nets and cubical sets which extends the previously known adjunction between Petri nets and asynchronous transition systems by Nielsen and Winskel. 1 1