This page is about an alternative presentation of monads as popular for monads in computer science. For a different notion of an “extension system” (that is to a bicategory what a closed category is to a monoidal category) see instead closed category.
internalization and categorical algebra
algebra object (associative, Lie, …)
The notion of an “extension system” (Marmolejo & Wood (2010)), originally called “algebraic theory in extension form” (Manes (1976), p. 32) and previously also referred to as a “Kleisli triple” (Moggi (1991), Def. 1.2) is an equivalent way of presenting the structure of a monad (on a category) that does not explicitly refer to composition (“iteration”) of its underlying endofunctor. This is simpler for certain purposes, and in any case more natural for others, notably in the use of monads in computer science. Abstractly, the notion may be understood as specialising the definition of -relative monads to the case where is the identity functor.
Specifically, noticing that the endofunctor underlying a monad may be understood as constructing its free algebras, which (lacking relations) tend to be “large” (say as concerns the cardinality of their underlying sets), the iterated application of this endofunctor produces ever larger objects, and some authors have pointed to avoiding this phenomenon as motivation for considering extension systems:
[Marmolejo-Wood 10]: there is an important overarching reason to consider monads in this way. Extension systems allow us to completely dispense with the iterates … of the underlying arrow. No iteration is necessary. A moment’s reflection on the various terms of terms and terms of terms of terms that occur in practical applications suggest that this alone justifies the alternate approach. … we note that extension systems in higher dimensional category theory provide an even more important simplication of monads. For even in dimension 2, some of the tamest examples are built on pseudofunctors that are difficult to iterate.
Major alternative motivation for extension systems comes from their understanding as monads in computer science (Kleisli triples); see there for more.
An extension system (Marmolejo-Wood 2010) on a category consists of
For every morphism in , a morphism (the Kleisli extension of ), satisfying the following axioms:
For every we have ,
For every , we have , and
For every and , we have .
Given these data, we make a functor by , we define multiplication maps as , and we verify that the result is a monad. Conversely, given a monad , we define and check the above axioms. Thus, extension systems are equivalent to monads.
This presentation of a monad is especially convenient for defining the Kleisli category (whence the aternative terminology “Kleisli triple”):
its objects are those of , its morphisms are the morphisms in , and the composite of with is .
It is also possible to define algebras over a monad using this presentation. A -algebra consists of
An object , and
For every morphism , a morphism , such that
For every we have , and
For every and we have .
The data of a monad on a category can be equivalently presented by specifying:
An endofunctor , and
A natural isomorphism . That is, for all objects and of , a bijection which is natural in and .
The monad structure can be obtained as follows. For each object of , we have a function and a function . Let and be the image of under and respectively. In words, is the restriction of to , and is its extension to . The resulting natural transformations and make a monad.
Conversely, given a monad , define the map as follows. For all objects and of , define by setting for all , and define by setting for all . The axioms of a monad make a natural isomorphism with inverse .
When is a cartesian closed category, to make a strong monad we simply have to enhance the extension operation to an internal morphism , or equivalently . This morphism is known as “bind” in use of monads in computer science.
The notion appears explicitly in:
and is expanded on considerably in
An earlier appearance in a different guise (“devices”):
The use of extension systems (there called Kleisli triples) as monads in computer science capturing computation with side effects is due to:
This way of presenting a monad is also closely related to continuation-passing style, as described in
Generalization to pseudomonads:
Francisco Marmolejo, Richard J. Wood, Kan extensions and lax idempotent pseudomonads, TAC 26 1 (2012) 1-29 [26-01]
Francisco Marmolejo, Richard J. Wood, No-iteration pseudomonads, TAC 28 14 (2013) 371-402 [tac:28-14]
Last revised on August 9, 2025 at 11:27:06. See the history of this page for a list of all contributions to it.