Inversion, Iteration, and the Art of Dual Wielding

04/02/2019 ∙ by Robin Kaarsgaard, et al. ∙ Københavns Uni 0

The humble † ("dagger") is used to denote two different operations in category theory: Taking the adjoint of a morphism (in dagger categories) and finding the least fixed point of a functional (in categories enriched in domains). While these two operations are usually considered separately from one another, the emergence of reversible notions of computation shows the need to consider how the two ought to interact. In the present paper, we wield both of these daggers at once and consider dagger categories enriched in domains. We develop a notion of a monotone dagger structure as a dagger structure that is well behaved with respect to the enrichment, and show that such a structure leads to pleasant inversion properties of the fixed points that arise as a result. Notably, such a structure guarantees the existence of fixed point adjoints, which we show are intimately related to the conjugates arising from a canonical involutive monoidal structure in the enrichment. Finally, we relate the results to applications in the design and semantics of reversible programming languages.



There are no comments yet.


page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Dagger categories are categories in which each morphism can be assigned an adjoint subject to certain equations. In recent years, dagger categories have been used to capture aspects of inversion in both reversible [27, 28, 30] and quantum [2, 35, 12] computing. Likewise, domain theory and categories enriched in domains (see, e.g., [3, 14, 15, 4, 6, 38]) have been successful since their inception in modelling both recursive functions and data types in programming via fixed points.

A motivating example of the interaction between adjoints and fixed points is found in the reversible functional programming language Rfun [40], as the interaction between program inversion and recursion. In this language, inverses of recursive functions can be constructed in a particularly straightforward way, namely as recursive functions with function body the inverse of the function body of the original function. Previously, the author and others showed that this phenomenon appears in join inverse categories, a particular class of domain-enriched dagger categories suitable for modelling classical reversible computing, as fixed point adjoints [30] to the functionals (i.e., second-order continuous functions) used to model recursive functions.

Several questions remain about these fixed point adjoints, however. Notably: Are these fixed point adjoints canonical? Why do they arise in classical reversible computing, and do they arise elsewhere as well? To answer these questions requires us to develop the art of wielding the two daggers offered by dagger categories and domain-enriched categories at once. We argue that well-behaved interaction between the dagger and domain-enrichments occurs when the dagger is locally monotone, i.e., when implies . We show that the functionals on form an involutive monoidal category, which also proves surprisingly fruitful in unifying seemingly disparate concepts from the literature under the banner of conjugation of functionals. Notably, we show that the conjugate functionals arising from this involutive structure coincide with fixed point adjoints [30], and that they occur naturally both in proving the ambidexterity of dagger adjunctions [22] and in natural transformations that preserve the dagger (including dagger traces [36]).

While these results could be applied to model a reversible functional programming language with general recursion and parametrized functions (such as an extended version of Theseus [28]), they are general enough to account for even certain probabilistic and nondeterministic models of computation, such as the category of sets and relations, and the category of finite sets and subnormalized doubly stochastic maps.

Overview: A brief introduction to the relevant background material on dagger categories, (-)enriched categories, iteration categories, and involutive monoidal categories is given in Section 2. In Section 3 the concept of a monotone dagger structure on a -category is introduced, and it is demonstrated that such a structure leads to the existence of fixed point adjoints for (ordinary and externally parametrized) fixed points, given by their conjugates. We also explore natural transformations in this setting, and develop a notion of self-conjugate natural transformations, of which -trace operators are examples. Finally, we discuss potential applications and avenues for future research in Section 4, and end with a few concluding remarks in Section 5.

2 Background

Though familiarity with basic category theory, including monoidal categories, is assumed, we recall here some basic concepts relating to dagger categories, ()-enriched categories, iteration categories, and involutive monoidal categories [25, 7]. The material is only covered here briefly, but can be found in much more detail in the numerous texts on dagger category theory (see, e.g., [35, 2, 20, 31]), enriched category theory (for which [33] is the standard text), and domain theory and iteration categories (see, e.g., [3, 15]).

2.1 Dagger categories

A dagger category (or -category) is a category equipped with a suitable method for flipping the direction of morphisms, by assigning to each morphism an adjoint in a manner consistent with composition. They are formally defined as follows.

Definition 1

A dagger category is a category equipped with an functor satisfying that and for all identities and morphisms .

Dagger categories, dagger functors (i.e., functors satisfying ), and natural transformations form a 2-category, .

A given category may have several different daggers which need not agree. An example of this is the groupoid of finite-dimensional Hilbert spaces and linear isomorphisms, which has (at least!) two daggers: One maps linear isomorphisms to their linear inverse, the other maps linear isomorphisms to their hermitian conjugate. The two only agree on the unitaries, i.e., the linear isomorphisms which additionally preserve the inner product. For this reason, one would in principle need to specify which dagger one is talking about on a given category, though this is often left implicit (as will also be done here).

Let us recall the definition of the some interesting properties of morphisms in a dagger category: By theft of terminology from linear algebra, say that a morphism in a dagger category is hermitian or self-adjoint if , and unitary if it is an isomorphism and . Whereas objects are usually considered equivalent if they are isomorphic, the “way of the dagger” [22, 31] dictates that all structure in sight must cooperate with the dagger; as such, objects ought to be considered equivalent in dagger categories only if they are isomorphic via a unitary map.

We end with a few examples of dagger categories. As discussed above, is an example (the motivating one, even [35]) of dagger categories, with the dagger given by hermitian conjugation. The category of sets and partial injective functions is a dagger category (indeed, it is an inverse category [32, 11]) with given by the partial inverse of . Similarly, the category of sets and relations has a dagger given by , i.e., the relational converse of . Noting that a dagger subcategory is given by the existence of a faithful dagger functor, it can be shown that is a dagger subcategory of with the given dagger structures.

2.2 -categories and other enriched categories

Enriched categories (see, e.g., [33]) capture the idea that homsets on certain categories can (indeed, ought to) be understood as something other than sets – or in other words, as objects of another category than . A category is enriched in a monoidal category if all homsets of are objects of , and for all objects of , has families of morphisms and corresponding to composition and identities in , subject to commutativity of diagrams corresponding to the usual requirements of associativity of composition, and of left and right identity. As is common, we will often use the shorthand “ is a -category” to mean that is enriched in the category .

We focus here on categories enriched in the category of domains (see, e.g., [3]), i.e., the category of pointed directed complete partial orders and continuous maps. A partially ordered is said to be directed complete if every directed set (i.e., a non-empty satisfying that any pair of elements of has a supremum in ) has a supremum in . A function between directed complete partial orders is monotone if implies for all , and continuous if for each directed set (note that continuity implies monotony). A directed complete partial order is pointed if it has a least element (or, in other words, if also the empty set has a supremum), and a function between such is called strict if (i.e., if also the supremum of the empty set is preserved111This is not the case in general, as continuous functions are only required to preserve least upper bounds of directed sets, which, by definition, does not include the empty set.). Pointed directed complete partial orders and continuous maps form a category, .

As such, a category enriched in is a category in which homsets are directed complete partial orders, and composition is continuous. Additionally, we will require that composition is strict (meaning that and for all suitable morphisms and ), so that the category is actually enriched in the category ! of directed complete partial orders and strict continuous functions, though we will not otherwise require functions to be strict.

Enrichment in provides a method for constructing morphisms in the enriched category as least fixed points of continuous functions between homsets: This is commonly used to model recursion. Given a continuous function , by Kleene’s fixed point theorem there exists a least fixed point given by , where is the -fold composition of with itself.

2.3 Parametrized fixed points and iteration categories

Related to the fixed point operator is the parametrized fixed point operator, an operator assigning morphisms of the form to a morphism satisfying equations such as the parametrized fixed point identity

and others (see, e.g., [24, 14]). Parametrized fixed points are used to solve domain equations of the form for some given parameter . Indeed, if for a continuous function we define and , we can construct its parametrized fixed point in in a way reminiscent of the usual fixed point by

In fact, a parametrized fixed point operator may be derived from an ordinary fixed point operator by . Similarly, we may derive an ordinary fixed point operator from a parametrized one by considering a morphism to be parametrized by the terminal object , so that the fixed point of is given by the parametrized fixed point of .

The parametrized fixed point operation is sometimes also called a dagger operation [14], and denoted by rather than . Though this is indeed the other dagger that we are wielding, we will use the phrase “parametrized fixed point” and notation “” to avoid unnecessary confusion.

An iteration category [15] is a cartesian category with a parametrized fixed point operator that behaves in a canonical way. The definition of an iteration category came out of the observation that the parametrized fixed point operator in a host of concrete categories (notably ) satisfy the same identities. This lead to an elegant semantic characterization of iteration categories, due to [15].

Definition 2

An iteration category is a cartesian category with a parametrized fixed point operator satisfying all identities (of the parametrized fixed point operator) that hold in .

Note that the original definition defined iteration categories in relation to the category of -complete partial orders and monotone functions, rather than to . However, the motivating theorem [15, Theorem 1] shows that the parametrized fixed point operator in satisfies the same identities as the one found in (i.e., with continuous rather than monotone functions). Since the parametrized fixed point operator of is constructed precisely as it is in (noting that -chains are directed sets), this definition is equivalent to the original.

2.4 Involutive monoidal categories

An involutive category [25] is a category in which every object can be assigned a conjugate object in a functorial way such that . A novel idea by Egger [13] is to consider dagger categories as categories enriched in an involutive monoidal category. We will return to this idea in Section 3.1, and recall the relevant definitions in the meantime (due to [25], compare also with bar categories [7]).

Definition 3

A category is involutive if it is equipped with a functor (the involution) and a natural isomorphism satisfying .

Borrowing terminology from linear algebra, we call (respectively ) the conjugate of an object (respectively a morphism ), and say that an object is self-conjugate if . Note that since conjugation is covariant, any category can be made involutive by assigning , , and letting

be the identity in each component; as such, an involution is a structure rather than a property. Non-trivial examples of involutive categories include the category of complex vector spaces

, with the involution given by the usual conjugation of complex vector spaces; and the category of partially ordered sets and monotone functions, with the involution given by order reversal.

When a category is both involutive and (symmetric) monoidal, we say that it is an involutive (symmetric) monoidal category when these two structures play well together, as in the following definition [25].

Definition 4

An involutive (symmetric) monoidal category is a (symmetric) monoidal category which is also involutive, such that the involution is a monoidal functor, and is a monoidal natural isomorphism.

This specifically gives us a natural family of isomorphisms , and when the monoidal product is symmetric, this extends to a natural isomorphism . This fact will turn out to be useful later on when we consider dagger categories as enriched in certain involutive symmetric monoidal categories.

3 Domain enriched dagger categories

Given a dagger category that also happens to be enriched in domains, we ask how these two structures ought to interact with one another. Since domain theory dictates that the well-behaved functions are precisely the continuous ones, a natural first answer would be to that the dagger should be locally continuous; however, it turns out that we can make do with less.

Definition 5

Say that a dagger structure on -category is monotone if the dagger is locally monotone, i.e., if implies for all and .

In the following, we will use the terms “-category with a monotone dagger structure” and “--category” interchangably. That this is sufficient to get what we want – in particular to obtain local continuity of the dagger – is shown in the following lemma.

Lemma 1

In any --category, the dagger is an order isomorphism on morphisms; in particular it is continuous and strict.


For a dagger category, so for all objects ; that this isomorphism of hom-objects is an order isomorphism follows directly by local monotony.∎

Let us consider a few examples of --categories.

Example 1

The category of sets and relations is a dagger category, with the dagger given by , the relational converse of (i.e., defined by iff ) for each such relation. It is also enriched in by the usual subset ordering: Since a relation is nothing more than a subset of , equipped with the subset order we have that for any directed set . It is also pointed, with the least element of each homset given by the empty relation.

To see that this is a monotone dagger structure, let be relations and suppose that . Let . Since we have by definition of the relational converse, and by the assumption that we also have . But then by definition of the relational converse, so follows by extensionality.

Example 2

We noted earlier that the category of sets and partial injective functions is a dagger subcategory of , with given by the partial inverse (a special case of the relational converse) of a partial injection . Further, it is also a -subcategory of ; in , this becomes the relation that for , iff for all , if is defined at and , then is also defined at and . Like , it is pointed with the nowhere defined partial function as the least element of each homset. That for some directed is a partial injection follows straightforwardly, and that this dagger structure is monotone follows by an argument analogous to the one for .

Example 3

More generally, any join inverse category (see [16]), of which is one, is a --category. Inverse categories are canonically dagger categories enriched in partial orders. That this extends to -enrichment in the presence of joins is shown in [30]; that the canonical dagger is monotonous with respect to the partial order is an elementary result (see, e.g., [30, Lemma 2]).

Example 4

The category of finite sets and subnormalized doubly stochastic maps is an example of a probabilistic --category. A subnormalized doubly stochastic map , where , is given by an matrix with non-negative real entries such that and . Composition is given by the usual multiplication of matrices.

This is a dagger category with the dagger given by matrix transposition. It is also enriched in by ordering subnormalized doubly stochastic maps entry-wise (i.e., if for all

), with the everywhere-zero matrix as the least element in each homset, and with suprema of directed sets given by computing suprema entry-wise. That this dagger structure is monotone follows by the fact that if

, so for all , then also for all , which is precisely to say that .

As such, in terms of computational content, these are examples of deterministic, nondeterministic, and probabilistic --categories. We will also discuss the related category , used to model quantum phenomena, in Section 4.

3.1 The category of continuous functionals

We illustrate here the idea of dagger categories as categories enriched in an involutive monoidal category by an example that will be used throughout the remainder of this article: Enrichment in a suitable subcategory of . It is worth stressing, however, that the construction is not limited to dagger categories enriched in ; any dagger category will do. As we will see later, however, this canonical involution turns out to be very useful when --categories are considered.

Let be a --category. We define an induced (full monoidal) subcategory of , call it , which enriches (by its definition) as follows:

Definition 6

For a --category , define to have as objects all objects of of the form , (for all objects of ), , and (with initial object of , and the cartesian product), and as morphisms all continuous functions between these.

In other words, is the (full) cartesian subcategory of generated by objects used in the enrichment of , with all continuous maps between these. That the dagger on induces an involution on is shown in the following theorem.

Theorem 3.1

is an involutive symmetric monoidal category.


On objects, define an involution with respect to the cartesian (specifically symmetric monoidal) product of as follows, for all objects of : , , , and . To see that this is well-defined, recall that for any dagger category , so in particular there is an isomorphism witnessing given by the mapping . But then , so if then . That is well-defined follows by analogous argument.

On morphisms, we define a family of isomorphisms by , , , and , and then define

This is functorial as , and for ,

Finally, since the involution is straightforwardly a monoidal functor, and since the natural transformation can be chosen to be the identity since all objects of satisfy by definition, this is an involutive symmetric monoidal category.∎

The resulting category can very naturally be thought of as the induced category of (continuous) functionals (or second-order functions) of .

Notice that this is a special case of a more general construction on dagger categories: For a dagger category enriched in some category (which could simply be in the unenriched case), one can construct the category , given on objects by the image of the hom-functor closed under monoidal products, and on morphisms by all morphisms of between objects of this form. Defining the involution as above, can be shown to be involutive monoidal.

Example 5

One may question how natural (in a non-technical sense) the choice of involution on is. One instance where it turns out to be useful is in the context of dagger adjunctions (see [22] for details), that is, adjunctions between dagger categories where both functors are dagger functors.

Dagger adjunctions have no specified left and right adjoint, as all such adjunctions can be shown to be ambidextrous in the following way: Given between endofunctors on , there is a natural isomorphism . Since is a dagger category, we can define a natural isomorphism by , i.e., by the composition

which then witnesses (as it is a composition of natural isomorphisms). But then is defined precisely to be when and are endofunctors.

3.2 Daggers and fixed points

In this section we consider the morphisms of in some detail, for a --category . Since least fixed points of morphisms are such a prominent and useful feature of -enriched categories, we ask how these behave with respect to the dagger. To answer this question, we transplant the notion of a fixed point adjoint from [30] to --categories, where an answer to this question in relation to the more specific join inverse categories was given:

Definition 7

A functional is fixed point adjoint to a functional iff .

Note that this is symmetric: If is fixed point adjoint to then , so is also fixed point adjoint to . As shown in the following theorem, it turns out that the conjugate of a functional is precisely fixed point adjoint to it. This is a generalization of a theorem from [30], where a more ad-hoc formulation was shown for join inverse categories, which constitute a non-trivial subclass of --categories.

Theorem 3.2

Every functional is fixed point adjoint to its conjugate.


The proof applies the exact same construction as in [30], since being a --category suffices, and the constructed fixed point adjoint turns out to be the exact same. Let be a functional. Since ,

and so

as desired.∎

This theorem is somewhat surprising, as the conjugate came out of the involutive monoidal structure on , which is not specifically related to the presence of fixed points. As previously noted, had been enriched in another category , we would still be able to construct a category of -functionals with the exact same involutive structure.

As regards recursion, this theorem underlines the slogan that reversibility is a local phenomenon: To construct the inverse to a recursively defined morphism , it suffices to invert the local morphism at each step (which is essentially what is done by the conjugate ) in order to construct the global inverse .

Parametrized functionals and their external fixed points are also interesting to consider in this setting, as some examples of --categories (e.g., ) fail to have an internal hom. For example, in a dagger category with objects corresponding to “lists of ” (usually constructed as the fixed point of a suitable functor), one could very reasonably construe the usual map-function not as a higher-order function, but as a family of morphisms indexed by – or, in other words, as a functional . Indeed, this is how certain higher-order behaviours are mimicked in the reversible functional programming language Theseus (see also Section 4).

To achieve such parametrized fixed points of functionals, we naturally need a parametrized fixed point operator on satisfying the appropriate equations – or, in other words, we need to be an iteration category. That is such an iteration category follows immediately by its definition (i.e., since is a full subcategory of , we can define a parametrized fixed point operator in to be precisely the one in ), noting that parametrized fixed points preserve continuity.

Lemma 2

is an iteration category.

For functionals of the form , we can make a similar definition of a parametrized fixed point adjoint:

Definition 8

A functional is parametrized fixed point adjoint to a functional iff .

We can now show a similar theorem for parametrized fixed points of functionals and their conjugates:

Theorem 3.3

Every functional is parametrized fixed point adjoint to its conjugate.


Let be a functional. We start by showing that for all , , and , by induction on . For we have

Assuming now the induction hypothesis for some , we have

Using this fact, we now get

which was what we wanted. ∎

Again, this theorem highlights the local nature of reversibility, here in the presence of additional parameters. We observe further the following highly useful property of parametrized fixed points in :

Lemma 3

Parametrized fixed points in preserve conjugation.


Let be continuous, and . Then , so .∎

Note that a lemma of this form only makes sense for parametrized fixed points, as the usual fixed point of a functional results in a morphism in , not a functional in .

3.3 Naturality and self-conjugacy

We now consider the behaviour of functionals and their parametrized fixed points when they are natural. For example, given a natural family of functionals natural in and (for dagger endofunctors and on ), what does it mean for such a family to be well-behaved with respect to the dagger on ? We would certainly want that such a family preserves the dagger, in the sense that in each component . It turns out that this, too, can be expressed in terms of conjugation of functionals.

Lemma 4

Let be a family of functionals natural in and . Then for all iff .


Suppose . Then , so . Conversely, assuming we then have for all that , so . ∎

If a natural transformation satisfies in all components , we say that it is self-conjugate. An important example of a self-conjugate natural transformation is the dagger trace operator, as detailed in the following example.

Example 6

A trace operator [29] on a braided monoidal category is family of functionals

subject to certain equations (naturality in and , dinaturality in , etc.). Traces have been used to model features from partial traces in tensorial vector spaces [19] to tail recursion in programming languages [1, 8, 18], and occur naturally in tortile monoidal categories [29] and unique decomposition categories [17, 23].

A dagger trace operator on a dagger category (see, e.g., [36]) is precisely a trace operator on a dagger monoidal category (i.e., a monoidal category where the monoidal functor is a dagger functor) that satisfies in all components . Such traces have been used to model reversible tail recursion in reversible programming languages [27, 28, 30], and also occur in the dagger compact closed categories (see, e.g., [37]) used to model quantum theory. In light of Lemma 4, dagger traces are important examples of self-conjugate natural transformations on dagger categories.

Given the connections between (di)naturality and parametric polymorphism [39, 5], one would wish that parametrized fixed points preserve naturality. Luckily, this does turn out to be the case, as shown in the proof of the following theorem.

Theorem 3.4

If is natural in and , so is its parametrized fixed point.


See appendix.∎

This theorem can be read as stating that, just like reversibility, a recursive polymorphic map can be obtained from one that is only locally polymorphic. Combining this result with Lemma 4 regarding self-conjugacy, we obtain the following corollary.

Corollary 1

If is a self-conjugate natural transformation, so is .


If for all then also , which is further natural in and by Theorem 3.4. But then , as parametrized fixed points preserve conjugation. ∎

4 Applications and future work

Reversible programming languages

Theseus [28] is a typed reversible functional programming language similar in syntax and spirit to Haskell. It has support for recursive data types, as well as reversible tail recursion using so-called typed iteration labels as syntactic sugar for a dagger trace operator. Theseus is based on the -family of reversible combinator calculi [27], which bases itself on dagger traced symmetric monoidal categories augmented with a certain class of algebraically -compact functors.

Theseus also supports parametrized functions, that is, families of reversible functions indexed by reversible functions of a given type, with the proviso that parameters must be passed to parametrized maps statically. For example, (if one extended Theseus with polymorphism) the reversible map function would have the signature , and so is not in itself a reversible function, though is (for some suitable function passed statically). This gives many of the benefits of higher-order programming, but without the headaches of higher-order reversible programming.

The presented results show very directly that we can extend Theseus with a fixed point operator for general recursion while maintaining desirable inversion properties, rather than making do with the simpler tail recursion. Additionally, the focus on the continuous functionals of given by the category also highlights the feature of parametrized functions in Theseus, and our results go further to show that even parametrized functions that use general recursion not only have desirable inversion properties, but also preserve naturality, the latter of which is useful for extending Theseus with parametric polymorphism.

Quantum programming languages

An interesting possibility as regards quantum programming languages is the category (see [12] for details on the -construction), which is dagger compact closed and equivalent to the category of finite-dimensional -algebras and completely positive maps [12]. Since finite-dimensional -algebras are specifically von Neumann algebras, it follows (see [9, 34]) that this category is enriched in the category of bounded directed complete partial orders; and since it inherits the dagger from (and is locally ordered by the pointwise extension of the Löwner order restricted to positive operators), the dagger structure is monotone, too. As such, the presented results ought to apply in this case as well – modulo concerns of boundedness – though this warrants more careful study.

Dagger traces in --categories

Given a suitable monoidal tensor (

e.g., one with the zero object as tensor unit) and a partial additive structure on morphisms, giving the category the structure of a unique decomposition category [17, 23], a trace operator can be canonically constructed. In previous work [30], the author (among others) demonstrated that a certain class of --categories, namely join inverse categories, had a dagger trace under suitably mild assumptions. It is conjectured that this theorem may be generalized to other --categories that are not necessarily inverse categories, again provided that certain assumptions are satisfied.

Involutive iteration categories

As it turned out that the category of continuous functionals on was both involutive and an iteration category, an immediate question to ask is how the involution functor ought to interact with parametrized fixed points in the general case. A remarkable fact of iteration categories is that they are defined to be cartesian categories that satisfy all equations of parametrized fixed points that hold in the category of -complete partial orders and monotone functions, yet also have a complete (though infinite) equational axiomatization [15].

We have provided an example of an interaction between parametrized fixed points and the involution functor here, namely that satisfies . It could be interesting to search for examples of involutive iteration categories in the wild (as candidates for a semantic definition), and to see if Ésik’s axiomatization could be extended to accomodate for the involution functor in the semantic category.

5 Conclusion and related work

We have developed a notion of -categories with a monotone dagger structure (of which , , and are examples, and is closely related), and shown that these categories can be taken to be enriched in an induced involutive monoidal category of continuous functionals. With this, we were able to account for (ordinary and parametrized) fixed point adjoints as arising from conjugation of the functional in the induced involutive monoidal category, to show that parametrized fixed points preserve conjugation and naturality, and that natural transformations that preserve the dagger are precisely those that are self-conjugate. We also described a number of potential applications in connection with reversible and quantum computing.

A great deal of work has been carried out in recent years on the domain theory of quantum computing, with noteworthy results in categories of von Neumann algebras (see, e.g., [34, 9, 26, 10]). Though the interaction between dagger structure and the domain structure on homsets was not the object of study, Heunen considers the similarities and differences of and , also in relation to domain structure on homsets, in [21], though he also notes that fails to enrich in domains as composition is not even monotone (this is not to say that domain theory and quantum computing do not mix; only that is the wrong category to consider for this purpose). Finally, dagger traced symmetric monoidal categories, with the dagger trace serving as an operator for reversible tail recursion, have been studied in connection with reversible combinator calculi [27] and functional programming [28].


  • [1] Abramsky, S.: Retracing some paths in process algebra. In: CONCUR ’96, pp. 1–17. Springer (1996)
  • [2] Abramsky, S., Coecke, B.: A categorical semantics of quantum protocol. In: Logic in Computer Science, 2004, Proceedings. pp. 415–425. IEEE (2004)
  • [3] Abramsky, S., Jung, A.: Domain theory. In: Handbook of Logic in Computer Science, pp. 1–168. No. 3, Clarendon Press (1994)
  • [4] Adámek, J.: Recursive data types in algebraically -complete categories. Information and Computation 118, 181–190 (1995)
  • [5] Bainbridge, E.S., Freyd, P.J., Scedrov, A., Scott, P.J.: Functorial polymorphism. Theoretical Computer Science 70(1), 35–64 (1990)
  • [6] Barr, M.: Algebraically compact functors. Journal of Pure and Applied Algebra 82(3), 211–231 (1992)
  • [7] Beggs, E.J., Majid, S.: Bar categories and star operations. Algebras and Representation Theory 12(2), 103–152 (2009)
  • [8] Benton, N., Hyland, M.: Traced premonoidal categories. Theoretical Informatics and Applications 37(4), 273–299 (2003)
  • [9] Cho, K.: Semantics for a Quantum Programming Language by Operator Algebras. Master’s thesis, University of Tokyo (2014)
  • [10] Cho, K., Jacobs, B., Westerbaan, B., Westerbaan, A.: An Introduction to Effectus Theory (2015), arXiv:1512.05813 [cs.LO]
  • [11] Cockett, J.R.B., Lack, S.: Restriction categories I: Categories of partial maps. Theoretical Computer Science 270(1–2), 223–259 (2002)
  • [12] Coecke, B., Heunen, C., Kissinger, A.: Categories of quantum and classical channels. Quantum Information Processing 15(12), 5179–5209 (2016)
  • [13] Egger, J.: Involutive monoidal categories and enriched dagger categories (2008), seminar talk, University of Oxford
  • [14] Ésik, Z.: Fixed point theory. In: Handbook of Weighted Automata, pp. 29–65. Springer (2009)
  • [15] Ésik, Z.: Equational properties of fixed point operations in cartesian categories: An overview. In: MFCS 2015, Proceedings, Part I, pp. 18–37. Springer (2015)
  • [16] Guo, X.: Products, Joins, Meets, and Ranges in Restriction Categories. Ph.D. thesis, University of Calgary (2012)
  • [17] Haghverdi, E.: Unique decomposition categories, Geometry of Interaction and combinatory logic. Mathematical Structures in Computer Science 10(2), 205–230 (2000)
  • [18] Hasegawa, M.: Recursion from cyclic sharing: Traced monoidal categories and models of cyclic lambda calculi. In: TLCA ’97, LNCS, vol. 1210, pp. 196–213. Springer (1997)
  • [19] Hasegawa, M., Hofmann, M., Plotkin, G.: Finite dimensional vector spaces are complete for traced symmetric monoidal categories. In: Pillars of Computer Science: Essays Dedicated to Boris (Boaz) Trakhtenbrot on the Occasion of His 85th Birthday. pp. 367–385. Springer (2008)
  • [20] Heunen, C.: Categorical quantum models and logics. Ph.D. thesis, Radboud University Nijmegen (2009)
  • [21] Heunen, C.: On the functor . In: Computation, Logic, Games, and Quantum Foundations – The Many Facets of Samson Abramsky, pp. 107–121. Springer (2013)
  • [22] Heunen, C., Karvonen, M.: Monads on dagger categories. Theory and Applications of Categories 31(35), 1016–1043 (2016)
  • [23] Hoshino, N.: A representation theorem for unique decomposition categories. Electronic Notes in Theoretical Computer Science 286, 213–227 (2012)
  • [24] Hyland, M.: Abstract and concrete models for recursion. In: Proceedings of the NATO Advanced Study Institute on Formal Logical Methods for System Security and Correctness. pp. 175–198. IOS Press (2008)
  • [25] Jacobs, B.: Involutive categories and monoids, with a GNS-correspondence. Foundations of Physics 42(7), 874–895 (2012)
  • [26] Jacobs, B.: New directions in categorical logic, for classical, probabilistic and quantum logic. Logical Methods in Computer Science 11(3), 1–76 (2015)
  • [27] James, R.P., Sabry, A.: Information effects. In: POPL 2012, Proceedings. pp. 73–84. ACM (2012)
  • [28] James, R.P., Sabry, A.: Theseus: A high level language for reversible computing (2014), work-in-progress report presented at RC 2014
  • [29] Joyal, A., Street, R., Verity, D.: Traced monoidal categories. Mathematical Proceedings of the Cambridge Philosophical Society 119(3), 447–468 (1996)
  • [30] Kaarsgaard, R., Axelsen, H.B., Glück, R.: Join inverse categories and reversible recursion. Journal of Logical and Algebraic Methods in Programming 87, 33–50 (2017)
  • [31] Karvonen, M.: The Way of the Dagger. Ph.D. thesis, School of Informatics, University of Edinburgh (2019)
  • [32] Kastl, J.: Inverse categories. In: Algebraische Modelle, Kategorien und Gruppoide, Studien zur Algebra und ihre Anwendungen, vol. 7, pp. 51–60. Akademie-Verlag (1979)
  • [33] Kelly, G.M.: Basic Concepts of Enriched Category Theory, London Mathematical Society Lecture Note Series, vol. 64. Cambridge University Press (1982)
  • [34] Rennela, M.: Towards a quantum domain theory: Order-enrichment and fixpoints in W*-algebras. Electronic Notes in Theoretical Computer Science 308, 289–307 (2014)
  • [35] Selinger, P.: Dagger compact closed categories and completely positive maps. Electronic Notes in Theoretical Computer Science 170, 139–163 (2007)
  • [36] Selinger, P.: A survey of graphical languages for monoidal categories. In: New Structures for Physics, pp. 289–355. Springer (2011)
  • [37] Selinger, P.: Finite dimensional Hilbert spaces are complete for dagger compact closed categories. Logical Methods in Computer Science 8, 1–12 (2012)
  • [38] Smyth, M.B., Plotkin, G.D.: The category-theoretic solution of recursive domain equations. SIAM Journal on Computing 11(4), 761–783 (1982)
  • [39] Wadler, P.: Theorems for free! In: Proceedings of the Fourth International Conference on Functional Programming Languages and Computer Architecture. pp. 347–359. FPCA ’89, ACM (1989)
  • [40] Yokoyama, T., Axelsen, H.B., Glück, R.: Towards a reversible functional language. In: Reversible Computation. LNCS, vol. 7165, pp. 14–29. Springer (2012)

Appendix 0.A Omitted proofs

0.a.1 Proof of Theorem 3.4

Suppose that is natural in and , i.e., the following diagram commutes for all .

Under this assumption, we start by showing naturality of for all , i.e., for all

by induction on . For we have

where by strictness of composition. Assuming the induction hypothesis now for some , we have

so is, indeed, natural for any choice of . But then

so is natural as well.∎