# John PowerMacquarie University · Department of Computing

John Power

PhD

## About

166

Publications

10,918

Reads

**How we measure 'reads'**

A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more

5,171

Citations

Citations since 2017

## Publications

Publications (166)

In this paper, we explore, enrich, and otherwise mildly generalise a prominent definition of weak n-category by Batanin, as refined by Leinster, to give a definition of weak n-dimensional V-category, with a view to applications in programming semantics. We require V to be locally presentable and to be (infinitarily) extensive, a condition which ens...

A propositional logic program P may be identified with a PfPf-coalgebra on the set of atomic propositions in the program. The corresponding C(PfPf)-coalgebra, where C(PfPf) is the cofree comonad on PfPf, describes derivations by resolution. That correspondence has been developed to model first-order programs in two ways, with lax semantics and satu...

We give a new account of the correspondence, first established by
Nishizawa--Power, between finitary monads and Lawvere theories over an
arbitrary locally finitely presentable base. Our account explains this
correspondence in terms of enriched category theory: the passage from a
finitary monad to the corresponding Lawvere theory is exhibited as an...

We consider an extant infinitary variant of Lawvere's finitary definition of extensivity of a category Ʋ. In the presence of cartesian closedness and finite limits in Ʋ, we give two char-acterisations of the condition in terms of a biequivalence between the bicategory of matrices over Ʋ and the bicategory of spans over discrete objects in Ʋ. Using...

The Workshop on Coalgebra, Horn Clause Logic Programming and Types was held on the 28-29 November 2016 in Edinburgh. The workshop marked the end of the EPSRC Grant Coalgebraic Logic Programming for Type Inference, by E. Komendantskaya, Heriot-Watt University and J. Power, University of Bath, UK.

A propositional logic program $P$ may be identified with a Pf Pf-coalgebra on the set of atomic propositions in the program. The corresponding C(Pf Pf)-coalgebra, where C(Pf Pf) is the cofree comonad on P_f Pf, describes derivations by resolution. That correspondence has been developed to model first-order programs in two ways, with lax semantics a...

A propositional logic program P may be identified with a \(P_fP_f\)-coalgebra on the set of atomic propositions in the program. The corresponding \(C(P_fP_f)\)-coalgebra, where \(C(P_fP_f)\) is the cofree comonad on \(P_fP_f\), describes derivations by resolution. Using lax semantics, that correspondence may be extended to a class of first-order lo...

A propositional logic program $P$ may be identified with a $P_fP_f$-coalgebra on the set of atomic propositions in the program. The corresponding $C(P_fP_f)$-coalgebra, where $C(P_fP_f)$ is the cofree comonad on $P_fP_f$, describes derivations by resolution. Using lax semantics, that correspondence may be extended to a class of first-order logic pr...

In 2007, Harmer, Hyland and Melliès gave a formal mathematical foundation for game semantics using a notion they called a ⊸-schedule, and the similar notion of ⊗-schedule, both structures describing interleavings of plays in games. Their definition was combinatorial in nature, but researchers often draw pictures when describing schedules in practic...

A setoid is a set together with a constructive representation of an equivalence relation on it. Here, we give category theoretic support to the notion. We first define a category SetoidSetoid and prove it is Cartesian closed with coproducts. We then enrich it in the Cartesian closed category EquivEquiv of sets and classical equivalence relations, e...

Coinductive definitions, such as that of an infinite stream, may often be described by elegant logic programs, but ones for
which SLD-refutation is of no value as SLD-derivations fall into infinite loops. Such definitions give rise to questions of
lazy corecursive derivations and parallelism, as execution of such logic programs can have both recurs...

Universal algebra is often known within computer science in the guise of algebraic specification or equational logic. In 1963, it was given a category theoretic characterisation in terms of what are now called Lawvere theories. Unlike operations and equations, a Lawvere theory is uniquely determined by its category of models. Except for a caveat ab...

In 2007, Harmer, Hyland and Melliès gave a formal mathematical foundation for game semantics using a notion they called a schedule. Their definition was combinatorial in nature, but researchers often draw pictures when describing schedules in practice. Moreover, a proof that the composition of schedules is associative involves cumbersome combinator...

Every variable-free logic program induces a P
f
P
f
-coalgebra on the set of atomic formulae in the program. The coalgebra p sends an atomic formula A to the set of the sets of atomic formulae in the antecedent of each clause for which A is the head. In an earlier paper, we identified a variable-free logic program with a P
f
P
f
-coalgebra on...

Enrichment of ordinary monads over Cat or Gpd is fundamental to Max Kelly’s unified theory of coherence for categories with
structure. So here, we investigate existence and unicity of enrichments of ordinary functors, natural transformations, and
hence also monads, over Cat and Gpd. We show that every ordinary natural transformation between 2-funct...

Coalgebra may be used to provide semantics for SLD-derivations, both finite and infinite. We first give such semantics to classical SLD-derivations, proving results such as adequacy, soundness and completeness. Then, based upon coalgebraic semantics, we propose a new sound and complete algorithm for parallel derivations. We analyse this new algorit...

Local variables in imperative languages have been given denotational semantics in at least two fundamentally different ways. One is by use of functor categories, focusing on the idea of possible worlds. The other might be termed event-based, exemplified by Reddy's object spaces and models based on game semantics. O'Hearn and Reddy have related the...

Logic programming, a class of programming languages based on first-order logic, provides simple and efficient tools for goal-oriented proof-search. Logic programming supports recursive computations, and some logic programs resemble the inductive or coinductive definitions written in functional programming languages. In this paper, we give a coalgeb...

Motivated by the search for a body of mathematical theory to support the semantics of computational eects, we rst recall the relationship between Lawvere theories and monads on Set. We generalise that relationship from Set to an arbitrary locally presentable category such as Poset, !Cpo, or functor categories such as (Inj;Set) or (Inj;!Cpo). That i...

We generalise the correspondence between Lawvere theories and finitary monads on in two ways. First, we allow our theories to be enriched in a category V that is locally finitely presentable as a symmetric monoidal closed category: symmetry is convenient but not necessary. And second, we allow the arities of our theories to be finitely presentable...

We give an account of the use of category theory in modelling data refinement over the past twenty years. We start with Tony Hoare's formulation of data refinement in category theoretic terms, explain how the category theory may be made precise in generality and with elegance, using the notion of structure respecting lax transformation, for a first...

We give a systematic category theoretic axiomatics for modelling data refinement in call by value programming languages. Our leading examples of call by value languages are extensions of the computational λ-calculus, such as FPC and languages for modelling nondeterminism, and extensions of the first order fragment of the computational λ-calculus, s...

In seeking a unified study of computational effects, one must take account of the coalgebraic structure of state in order to give a general operational semantics agreeing with the standard one for state. Axiomatically, one needs a countable Lawvere theory L, a comodel C, typically the final one, and a model M, typically free; one then seeks a tenso...

We introduce a ﬁbrational semantics for many-valued logic programming, use it to deﬁne an SLD-resolution for annotation-free many valued logic programs as deﬁned by Fitting, and prove a soundness and completeness result relating the two. We show that ﬁbrational se- mantics corresponds with the traditional declarative (ground) semantics and deduce a...

We generalise Fiore et al's account of variable binding for untyped cartesian contexts to give an account of binding for either variables or names that may be typed. We do this in an enriched setting, allowing the incorporation of recursion into the analysis. Extending earlier work by us, we axiomatise the notion of context by defining and using th...

We consider the natural combinations of algebraic computational effects such as side-effects, exceptions, interactive input/output, and nondeterminism with continuations. Continuations are not an algebraic effect, but previously developed combinations of algebraic effects given by sum and tensor extend, with effort, to include commonly used combina...

Lawvere theories and monads have been the two main category theoretic formulations of universal algebra, Lawvere theories arising in 1963 and the connection with monads being established a few years later. Monads, although mathematically the less direct and less malleable formulation, rapidly gained precedence. A generation later, the definition of...

We summarise Fiore et al's paper on variable substitution and binding, then axiomatise it. Generalising their use of the category F of finite sets to model untyped cartesian contexts, we let S be an arbitrary pseudo-monad on Cat and consider op(S1): this generality includes linear contexts, affine contexts, and contexts for the Logic of Bunched Imp...

CALCO brings together researchers and practitioners to exchange new results related to foundational aspects and both traditional and emerging uses of algebras and coalgebras in computer science. The study of algebra and coalgebra relates to the data, process and structural aspects of software systems. This is a high-level, bi-annual conference form...

A Freyd-category is a subtle generalisation of the notion of a category with finite products. It is suitable for modelling environments in call-by-value programming languages, such as the computational -calculus, with computational eects. We develop the theory of Freyd-categories with that in mind. We first show that any countable Lawvere theory, h...

Countable Lawvere theories model computational effects such as exceptions, side-effects, interactive input/output, nondeterminism and probabilistic nondeterminism. The category of countable Lawvere theories has sums, tensors, and distributive tensors, modelling natural combinations of such effects. It is also closed under taking images. Enrichment...

We analyze recent work on an algebraic formulation for data refinement. Hoare's principal mathematical constructions are reviewed.
Then, they are mildly reformulated and unified in terms of two principal category theoretic notions: those of an enriched
category and monad, also known as a triple. The requisite definitions and theory are given, toget...

We give a category-theoretic formulation of Engeler-style models for the untyped λ-calculus. In order to do so, we exhibit an equivalence between distributive laws and extensions of one monad to the Kleisli category of another and explore the example of an arbitrary commutative monad together with the monad for commutative monoids. On Set as base c...

Lawvere theories have been one of the two main category theoretic formulations of universal algebra, the other being monads. Monads have appeared extensively over the past fifteen years in the theoretical computer science literature, specifically in connection with computational effects, but Lawvere theories have not. So we define the notion of (co...

Lawvere theories were defined in 1963 as a category theoretic axiomatisation of the notion of a clone of an equational theory. A connection was soon established with the notion of monad, which had been extant in algebraic topology for the previous decade. Monads, although mathematically the less direct and less malleable formulation, rapidly gained...

We seek a unified account of modularity for computational effects. We begin by reformulating Moggi's monadic paradigm for modelling computational effects using the notion of enriched Lawvere theory, together with its relationship with strong monads; this emphasises the importance of the operations that produce the effects. Effects qua theories are...

Starting with Moggi's work on monads as refined to Lawvere theories, we give a general construct that extends denotational semantics for a global computational effect canonically to yield denotational semantics for a corresponding local computational effect. Our leading example yields a construction of the usual denotational semantics for local sta...

Motivated by the concerns of theorem-proving, we generalise the notion of proof tree to that of hierarchical proof tree. Hierarchical trees extend ordinary trees by adding partial order structure to the set of nodes: that allows us to visualise a node as a rectangle in the plane rather than as a point, letting us use the containment relation to exp...

We introduce an axiomatic approach to logical relations and data refinement. We consider a programming language and the monad on the category of small categories generated by it. We identify abstract data types for the language with sketches for the associated monad, and define an axiomatic notion of relation between models of such a sketch in a se...

Herein, we describe an abstract algebraic object which can be used to discuss rewrite systems. We define then use the notion of 2-category to encapsulate some fundamental properties of rewrites. Recent developments in the general theory of 2-categories are then used to give a theorem stating conditions under which rewrite derivations exist, and to...

We give a coalgebraic formulation of timed processes and their operational seman- tics. We model time by a monoid called a \time domain", and we model processes by \timed transition systems", which amount to partial monoid actions of the time domain or, equivalently, coalgebras for an \evolution comonad" generated by the time domain. All our exampl...

Generalizing Fiore et al .'s use of the category 𝔽 of finite sets to model untyped Cartesian contexts and Tanaka's use of the category ℙ of permutations to model untyped linear contexts, we let S be an arbitrary pseudo-monad on Cat and let S 1 model untyped contexts in general: this generality includes contexts for sub-structural logics s...

We give a general category theoretic formulation of the substitution structure underlying the category theoretic study of
variable binding proposed by Fiore, Plotkin, and Turi. This general formulation provides the foundation for their work on
variable binding, as well as Tanaka’s linear variable binding and variable binding for other binders and f...

We introduce the notion of discrete countable Lawvere V-theory and study constructions that may be made on it. The notion of discrete countable Lawvere V-theory extends that of ordinary countable Lawvere theory by allowing the homsets of an ordinary countable Lawvere theory
to become homobjects of a well-behaved axiomatically defined category such...

Fiore, Plotkin and Turi provided a definition of binding signature and characterised the presheaf of terms generated from
a binding signature by an initiality property. Tanaka did for linear binders what Fiore et al did for cartesian binders. They
used presheaf categories to model variable binders for contexts, with leading examples given by the un...

We generalise Fiore et al's account of variable binding for untyped cartesian contexts and Tanaka's account of variable binding for untyped linear contexts to give an account of variable binding for simply typed axiomatically defined contexts. In line with earlier work by us, we axiomatise the notion of context by means of a pseudo-monad S on Cat:...

We investigate the notion of a comodel of a (countable) Lawvere theory, an evident dual to the notion of model. By taking the forgetful functor from the category of comodels to Set, every (countable) Lawvere theory generates a comonad on Set. But while Lawvere theories are equivalent to finitary monads on Set, and that result extends to higher card...

Some years ago, Turi and Plotkin gave a precise mathematical formulation of a notion of structural operational semantics: their formulation is equivalent to a distributive law of the free monad on a signature over the cofree copointed endofunctor on a behaviour endofunctor. From such a distributive law, one can readily induce a distributive law of...

We introduce a potential application of two-dimensional linear algebra to concurrency. Motivated by the structure of categories of wirings, in particular in action calculi but also in other models of concurrency, we investigate the notion of symmetric monoidal sketch for providing an abstract notion of category of wirings. Every symmetric monoidal...

We overview a programme to provide a uniÞed semantics for computational eects based upon the notion of a countable enriched Lawvere theory. We deÞne the notion of countable enriched Lawvere theory, show how the various leading examples of computational eects, except for continuations, give rise to them, and we compare the deÞnition with that of a s...

We use the concept of a distributive law of a monad over a copointed endofunctor to define and develop a reformulation and mild generalisation of Turi and Plotkin's notion of an abstract operational rule. We make our abstract definition and give a precise analysis of the relationship between it and Turi and Plotkin's definition. Following Turi and...

We outline a possible logic that will allow us to give a uni ed approach to reasoning about computational eects. The logic is given by extending Moggi's computational -calculus by basic types and a signature, the latter given by constant symbols, function symbols, and operation symbols, and by including a operator. We give both syntax and semantics...

A fundamental question, in modelling computational effects, is how to give a unified semantic account of modularity, i.e., a mathematical theory that supports the various combinations one naturally makes of computational effects such as exceptions, side-effects, interactive input/output, nondeterminism, and, particularly for this workshop, continua...

Given a signature of basic operations for a computational effect such as side-effects, interactive input/output, or exceptions,
we give a unified construction that determines equations that should hold between derived operations of the same arity. We
then show how to construct a canonical model for the signature, together with the first-order fragm...

We address the question of how elegantly to combine a number of different struc- tures, such as finite product structure, monoidal structure, and colimiting structure, on a category. Extending work of Marmolejo and Lack, we develop the definition of a pseudo-distributive law between pseudo-monads, and we show how the definition and the main theorem...

In categorical semantics, there have traditionally been two approaches to modelling environments, one by use of finite products in cartesian closed categories, the other by use of the base categories of indexed categories with structure. Each requires modifications in order to account for environments in call-by-value programming languages. There h...

Turi and Plotkin gave a precise mathematical formulation of a notion of structural operational semantics in their paper “Towards a mathematical operational semantics.” Starting from that definition and at the level of generality of that definition, we give a mathematical formulation of some of the basic constructions one makes with structural opera...

We give a universal embedding of the semantics for the first order fragment of the computational λ-calculus into a semantics for the whole calculus. In category theoretic terms, which are the terms of the paper, this means
we give a universal embedding of every small Freyd-category into a closed Freyd-category. The universal property characterises...

Higraphs, a kind of hierarchical graph, underlie a number of sophisticated diagrammatic formalisms, including Statecharts.
Naturally arising from hierarchy in higraphs is an abstraction operation known as zooming out, which is of profound importance to reasoning about higraph-based systems. We motivate how, in general, the use of zooming
in reasoni...

comonads. In developing these theories we strive to provide them with an associated notion of syntax. In the case of initial algebras and monads this corresponds to the standard notion of algebraic theories consisting of signatures and equations: models of such algebraic theories are precisely the algebras of the representing monad. We attempt to e...

We present arguments for the complementary role that intrinsically geometric models of visual languages can play in many applications, alongside non-geometry based models (such those based on graph grammars, logical predicates or algebraic structures). We characterise which models are intrinsically geometric, and illustrate the concept by providing...

Given a complete and cocomplete symmetric monoidal closed category V and a symmetric monoidal V-category C with cotensors and a strong V-monad T on C, we investigate axioms under which an Ob
C-indexed family of operations of the form αx
:(Tx)v
→(Tx)w
provides semantics for algebraic operations on the computational λ-calculus. We recall a definition...

We introduce a hierarchical notion of formal proof, useful in the implementation of theorem provers, which we call highproofs. Two alternative definitions are given, motivated by existing notations used in theorem proving research. We define transformations between these two forms of hiproof, develop notions of underlying proof, and give a suitable...

We give a general category theoretic formulation of the approach to modelling variable binding first proposed by Fiore, Plotkin, and Turi. This general formulation allows us to include variable binding as they have it, as well as Tanaka's linear variable binding and variable binding for other binders and for mixtures of binders as for instance in t...

Pseudo-commutative 2-monads and pseudo-closed 2-categories are defined. The former give rise to the latter: if T is pseudo-commutative, then the 2-category T-Alg, of strict T-algebras and pseudo-maps of algebras, is pseudo-closed. In particular, the 2-category of symmetric monoidal categories, is pseudo-closed. Subject to a biadjointness condition...

This paper shows that the problem is more subtle than might appear at first glance: final coalgebras can form monads just as easily as comonads and dually, initial algebras form both monads and comonads

We develop the study of premonoidal categories. Specifically, we reconcile premonoidal categories with the usual study of categories with algebraic structure by adding a little extra structure. We further give a notion of closedness for a premonoidal category with such extra structure, and show that every premonoidal category fully embeds into a cl...

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 2-category, giving accounts of the Eilenberg-Moore and Kleisli con...

We investigate fixpoint operators for domain equations. It is routine to verify that if every endofunctor on a category has an initial algebra, then one can construct a fixpoint operator from the category of endofunctors to the category. That construction does not lift routinely to enriched categories, using the usual enriched notion of initiality...

Computing system representations based on Harel's notion of hierarchical graph, or higraph, have become popular since the invention of Statecharts. Such hierarchical representations support a useful filtering operation, called “zooming-out”, which is used to manage the level of detail presented to the user designing or reasoning about a large and c...

We begin to develop a uniÞed account of modularity for com- putational eects. We use the notion of enriched Lawvere theory, to- gether with its relationship with strong monads, to reformulate Moggi's paradigm for modelling computational eects; we emphasise the impor- tance here of the operations that induce computational eects. Eects qua theories a...

The present third part of a three-part paper gives the definition of a multitopic set, and that of the category of multitopes. A detailed proof is given of the fact that the category of multitopic sets is equivalent to the category of set-valued functors on multitopes.

We give semantics for notions of computation, also called computational effects, by means of operations and equations. We show that these generate several of the monads of primary interest that have been used to model computational effects, with the striking omission of the continuations monad, demonstrating the latter to be of a different characte...

We introduce the notion of pseudo-commutative monad together with that of pseudo-closed 2-category, the leading example being given by the 2-monad on Cat whose 2-category of algebras is the 2-category of small symmetric monoidal categories. We prove that for any pseudo-commutative 2-monad on Cat, its 2-category of algebras is pseudo-closed. We also...

We develop an algebraic foundation for some of the graph-based structures underlying a variety of popular diagrammatic notations for the specication, modelling and programming of computing systems. Using hypergraphs and higraphs as leading examples, a locally ordered category Graph(C) of graphs in a locally ordered category C is dened and endowed w...

Higraphs, which are structures extending graphs by permitting a hierarchy of nodes, underlie a number of diagrammatic formalisms
popular in computing. We provide an algebraic account of higraphs (and of a mild extension), with our main focus being on
the mathematical structures underlying common operations, such as those required for understanding...

Given a complete and cocomplete symmetric monoidal closed category V and a symmetric monoidal V -category C with cotensors and a strong V -monad T on C, we investigate axioms under which an ObC- indexed family of operations of the form #x : (Tx) v -# (Tx) w provides semantics for algebraic operations, which may be used to extend the usual monadic s...

Motivated by a model for syntactic control of interference, we introduce a general categorical concept of bireflectivity. Bireflective subcategories of a category A are subcategories with left and right adjoint equal, subject to a coherence condition. We characterize them in terms of split-idempotent natural transformations on id A . In the special...

Consideration of categories of transition systems and related constructions leads to the study of categories of F-coalgebras, where F is an endofunctor of the category of sets, or of some more general ‘set-like’ category. It is fairly well known that if is a topos and preserves pullbacks and generates a cofree comonad, then the category of F-coalge...

Whilst the relationship between initial algebras and monads is well-understood, the relationship between final coalgebras and comonads is less well explored. This paper shows that the problem is more subtle and that final coalgebras can just as easily form monads as comonads and dually, that initial algebras form both monads and comonads.In develop...

We introduce two-dimensional linear algebra, by which we do not mean two-dimensional vector spaces but rather the systematic replacement in linear algebra of sets by categories. This entails the study of categories that are simultaneously categories of algebras for a monad and categories of coalgebras for comonad on a category such as SymMons, the...

We consider several different sound and complete classes of models for the computational ·-calculus, explain the definitions, and outline why one might be interested in the various classes. We first consider the class of closed -categories, a natural and direct generalisation of the notion of cartesian closed category. We then consider closed ·-cat...

The present second part of a three-part paper gives the detailed treatment of the new notion of multicategory, and that of the construction of the particular multicategory of function replacement. For the overall purpose of the whole paper, see the abstract in Part 1.

Harel (1988) introduces the notion of zooming out as a useful operation in working with higraphs. Zooming out allows one to consider less detailed versions of a higraph by dropping some detail from the description in a structured manner. Although this is a very useful operation it seems it can be misleading in some circumstances by allowing the use...

Moggi proposed a monadic account of computational effects. He also presented the computational λ-calculus, λc
, a core call-by-value functional programming language for effects; the effects are obtained by adding appropriate operations. The question arises as to whether one can give a corresponding treatment of operational semantics. We do this in...

We generalise the notion of a distributive law between a monad and a comonad to consider weakened structures such as pointed or co-pointed endofunctors, or endofunctors. We investigate Eilenberg-Moore and Kleisli constructions for each of these possibilities. Then we consider two applications of these weakened notions of distributivity in detail. W...

Inspired by the concept of opetopic set introduced in a recent paper by John C. Baez and James Dolan, we give a modified notion called multitopic set. The name reflects the fact that, whereas the Baez/Dolan concept is based on operads, the one in this paper is based on multicategories. The concept of multicategory used here is a mild generalization...

We prove, in the context of simple type theory, that logical relations are sound and complete for data abstraction as given
by equational specifications. Specifically, we show that two implementations of an equationally specified abstract type are
equivalent if and only if they are linked by a suitable logical relation. This allows us to introduce...

We develop a notion of equivalence between interpretations of the simply typed -calculus together with an equationally dened abstract data-type, and we show that two interpretations are equivalent if and only if they are linked by a logical relation. We show that our construction generalises from the simply typed -calculus to include the linear -ca...

Lax logical relations are a categorical generalisation of logical relations; though they preserve product types, they need not preserve exponential types. But, like logical relations, they are preserved by the meanings of all lambda-calculus terms. We show that lax logical relations coincide with the correspondences of Schoett, the algebraic relati...

We recall Hoare's formulation of data refinement in terms of upward, downward and total simulations between locally ordered functors from the structured locally ordered category generated by a programming language with an abstract data type to a semantic locally ordered category: we use a simple imperative language with a data type for stacks as le...

. In a paper in 1986, Hoare, He and Sanders proposed a formulation of refinement for a system equivalent to the #-calculus using a relation based semantics. To give a proof method to show that one program is a refinement of another, they introduced downward simulation and upward simulation, but the proof method based upon either of them is not comp...