Results 11 - 20
of
30
On the construction of free algebras for equational systems
- IN: SPECIAL ISSUE FOR AUTOMATA, LANGUAGES AND PROGRAMMING (ICALP 2007). VOLUME 410 OF THEORETICAL COMPUTER SCIENCE
, 2009
"... The purpose of this paper is threefold: to present a general abstract, yet practical, notion of equational system; to investigate and develop the finitary and transfinite construction of free algebras for equational systems; and to illustrate the use of equational systems as needed in modern applica ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
The purpose of this paper is threefold: to present a general abstract, yet practical, notion of equational system; to investigate and develop the finitary and transfinite construction of free algebras for equational systems; and to illustrate the use of equational systems as needed in modern applications.
What is a Data Type?
, 1996
"... A program derivation is said to be polytypic if some of its parameters are data types. Polytypic program derivations necessitate a general, non-inductive definition of `data type'. Here we propose such a definition: a data type is a relator that has membership. It is shown how this definition implie ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
A program derivation is said to be polytypic if some of its parameters are data types. Polytypic program derivations necessitate a general, non-inductive definition of `data type'. Here we propose such a definition: a data type is a relator that has membership. It is shown how this definition implies various other properties that are shared by all data types. In particular, all data types have a unique strength, and all natural transformations between data types are strong. 1 Introduction What is a data type? It is easy to list a number of examples: pairs, lists, bags, finite sets, possibly infinite sets, function spaces . . . but such a list of examples hardly makes a definition. The obvious formalisation is a definition that builds up the class of data types inductively; such an inductive definition, however, leads to cumbersome proofs if we want to prove a property of all data types. Here we aim to give a non-inductive characterisation, defining a data type as a mathematical object...
Coalgebras and Monads in the Semantics of Java
- Theoretical Computer Science
, 2002
"... This paper describes the basic structures in the denotational and axiomatic semantics of sequential Java, both from a monadic and a coalgebraic perspective. This semantics is an abstraction of the one used for the verification of (sequential) Java programs using proof tools in the LOOP project at th ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
This paper describes the basic structures in the denotational and axiomatic semantics of sequential Java, both from a monadic and a coalgebraic perspective. This semantics is an abstraction of the one used for the verification of (sequential) Java programs using proof tools in the LOOP project at the University of Nijmegen. It is shown how the monadic perspective gives rise to the relevant computational structure in Java (composition, extension and repetition), and how the coalgebraic perspective o#ers an associated program logic (with invariants, bisimulations, and Hoare logics) for reasoning about the computational structure provided by the monad.
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.
Coinductive Interpreters for Process Calculi
- In Sixth International Symposium on Functional and Logic Programming, volume 2441 of LNCS
, 2002
"... This paper suggests functional programming languages with coinductive types as suitable devices for prototyping process calculi. The proposed approach is independent of any particular process calculus and makes explicit the dierent ingredients present in the design of any such calculi. In partic ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
This paper suggests functional programming languages with coinductive types as suitable devices for prototyping process calculi. The proposed approach is independent of any particular process calculus and makes explicit the dierent ingredients present in the design of any such calculi. In particular structural aspects of the underlying behaviour model become clearly separated from the interaction structure which de nes the synchronisation discipline. The approach is illustrated by the detailed development in Charity of an interpreter for a family of process languages.
Covariant Types
- Theoretical Computer Science
, 1997
"... The covariant type system is an impredicative system that is rich enough to represent some polymorphism on inductive types, such as lists and trees, and yet is simple enough to have a set-theoretic semantics. Its chief novelty is to replace function types by transformation types, which denote parame ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
The covariant type system is an impredicative system that is rich enough to represent some polymorphism on inductive types, such as lists and trees, and yet is simple enough to have a set-theoretic semantics. Its chief novelty is to replace function types by transformation types, which denote parametric functions. Their free type variables are all in positive positions, and so can be modelled by covariant functors. Similarly, terms denote natural transformations. There is a translation from the covariant type system to system F which preserves non-trivial reductions. It follows that covariant reduction is strongly normalising and confluent. This work suggests a new approach to the semantics of system F, and new ways of basing type systems on the categorical notions of functor and natural transformation. Keywords covariant types, polymorphism, parametricity, transformation types. 1 Introduction The pros and cons of typing programs are already well known. In brief, static type-checkin...
An Equational Notion of Lifting Monad
- TITLE WILL BE SET BY THE PUBLISHER
, 2003
"... We introduce the notion of an equational lifting monad: a commutative strong monad satisfying one additional equation (valid for monads arising from partial map classifiers). We prove that any equational lifting monad has a representation by a partial map classifier such that the Kleisli category ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
We introduce the notion of an equational lifting monad: a commutative strong monad satisfying one additional equation (valid for monads arising from partial map classifiers). We prove that any equational lifting monad has a representation by a partial map classifier such that the Kleisli category of the former fully embeds in the partial category of the latter. Thus equational lifting monads precisely capture the equational properties of partial maps as induced by partial map classifiers. The representation theorem also provides a tool for transferring non-equational properties of partial map classifiers to equational lifting monads. It is proved using a direct axiomatization of Kleisli categories of equational lifting monads. This axiomatization is of interest in its own right. 1
Calculating invariants as coreflexive bisimulations
, 2008
"... Abstract. Invariants, bisimulations and assertions are the main ingredients of coalgebra theory applied to computer systems engineering. In this paper we reduce the first to a particular case of the second and show how both together pave the way to a theory of coalgebras which regards invariant pred ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
Abstract. Invariants, bisimulations and assertions are the main ingredients of coalgebra theory applied to computer systems engineering. In this paper we reduce the first to a particular case of the second and show how both together pave the way to a theory of coalgebras which regards invariant predicates as types. An outcome of such a theory is a calculus of invariants ’ proof obligation discharge, a fragment of which is presented in the paper. The approach has two main ingredients: one is that of adopting relations as “first class citizens ” in a pointfree reasoning style; the other lies on a synergy found between a relational construct, Reynolds ’ relation on functions involved in the abstraction theorem on parametric polymorphism and the coalgebraic account of bisimulation and invariants. In this process, we provide an elegant proof of the equivalence between two different definitions of bisimulation found in coalgebra literature (due to B. Jacobs and Aczel & Mendler, respectively) and their instantiation to the classical Park-Milner definition popular in process algebra.
Matrices, Monads and the Fast Fourier Transform
- Proceedings of the
, 1993
"... This paper presents a formal semantics for vectors and matrices, suitable for static type-checking. This is not available in apl, which produces run-time type errors, or in the usual functional languages, where matrices are typically implemented by lists of lists. Here, a matrix is a vector of vecto ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
This paper presents a formal semantics for vectors and matrices, suitable for static type-checking. This is not available in apl, which produces run-time type errors, or in the usual functional languages, where matrices are typically implemented by lists of lists. Here, a matrix is a vector of vectors. Vectors are distinguished from lists by requiring that vector computations determine the length of the result from that of the argument, without reference to values. This leads to a two-level semantics, with values above and shapes below. Each operation must then specify its action on shapes as well as its action on values. Vectors and matrices inherit much of their structure from lists. In particular, the monadic structure given by singleton lists and the flattening of lists of lists extends in this way. Some new constructions, such as transposition of matrices, have no list counterpart. The power of this calculus for vector and matrix algebra is sufficient to represent the discrete Fou...

