Last time, we saw the notion of strength for a monad. These were natural transformations

$A \otimes \mathbb{T}(B) \rightarrow \mathbb{T}(A \otimes B)$

which interact well with the monoidal and monad structure. As was mentioned last time, there are other ways we might consider commuting a functor with a monoidal structure. The obvious first choice is to consider a natural transformation of type

$\mathbb{T}(A) \otimes B \rightarrow \mathbb{T}(A \otimes B)$

again, interacting sensibly with the monoidal and monad structure (as before, we leave the details of what this means aside, to concentrate on the main ideas). Such a natural transformation is called a costrength, denoted $\mathsf{st}'$.

Example: If $\mathcal{V}$ is a symmetric monoidal category we can build a costrength from a strength

$\mathsf{st}_{A,B} : A \otimes \mathbb{T}(B) \rightarrow \mathbb{T}(A \otimes B)$

as the composite:

$\mathbb{T}(A) \otimes B \xrightarrow{\sigma_{\mathbb{T}(A),B}} B \otimes \mathbb{T}(A) \xrightarrow{\mathsf{st}_{B,A}} \mathbb{T}(B \otimes A) \xrightarrow{\mathbb{T}(\sigma_{B,A})} \mathbb{T}(A \otimes B)$

Here $\sigma$ is the symmetry isomorphism from the symmetric monoidal structure. Intuitively, we just swap the inputs, use the strength and swap them back again.

As we know every $\mathsf{Set}$ monad is strong in a unique way, so it also has a unique costrength. For example, the costrength for the list monad acts as follows:

$([a_1,\ldots,a_n],b) \mapsto [(a_1,b),\ldots,(a_n,b)]$

Unsurprisingly, costrength for the powerset is very similar, visually we just swap square (list formation) brackets for curly (set formation) brackets.

$(\{a_1,\ldots,a_n\},b) \mapsto \{(a_1,b),\ldots,(a_n,b)\}$

We can consider costrengths beyond symmetric monoidal categories, as their definition does not require the existence of a strength morphism. In the cases that will be of interest to us, it will be the interplay between strengths and costrengths that will matter. To keep things simple, we will assume we are working in a symmetric monoidal category, so the costrength can be derived from the strength (or vice-versa), as in the example above. (To move beyond this setting, we would need to assume further compatibility conditions between any choice of strength and costrength, which are automatic when one is derived from the other via a monoidal symmetry.)

One we have a strength $\mathsf{st}$ and costrength $\mathsf{st}'$, we can build a natural transformation of type $\mathbb{T}(A) \otimes \mathbb{T}(B) \rightarrow \mathbb{T}(A \otimes B)$. In fact, there are two ways we can do this, either by applying strength first:

$\mathsf{dst} = \mathbb{T}(A) \otimes \mathbb{T}(B) \xrightarrow{\mathsf{st}_{A,B}} \mathbb{T}(\mathbb{T}(A) \otimes B) \xrightarrow{\mathbb{T}(\mathsf{st}'_{A,B})} \mathbb{T}^2(A\otimes B) \xrightarrow{\mu_{A \otimes B}} \mathbb{T}(A \otimes B)$

or applying costrength first:

$\mathsf{dst}' = \mathbb{T}(A) \otimes \mathbb{T}(B) \xrightarrow{\mathsf{st}'_{A,B}} \mathbb{T}(A \otimes \mathbb{T}(B)) \xrightarrow{\mathbb{T}(\mathsf{st}_{A,B})} \mathbb{T}^2(A \otimes B) \xrightarrow{\mu_{A \otimes B}} \mathbb{T}(A \otimes B)$

Both these composites are referred to as double strengths. Whenever we see two composites of the same type in category theory, it is natural to consider if they are always the same.

Example: For the list monad, we have:

$\mathsf{dst}([a,b],[c,d]) = [(a,c),(b,c),(a,d),(b,d)]$

whereas

$\mathsf{dst}'([a,b],[c,d]) = [(a,c),(a,d),(b,c),(b,d)]$

notice the difference in the order of the middle two elements.

On the other hand, for the powerset monad, essentially because there is no ordering in subsets:

$\mathsf{dst}(\{a,b\},\{c,d\}) = \mathsf{dst}'(\{a,b\},\{c,d\}) = \{(a,c),(b,c),(a,d),(b,d) \}$

This is not an isolated example, for the powerset monad $\mathsf{dst} = \mathsf{dst}'$.

The previous examples show us that in general $\mathsf{dst} \neq \mathsf{dst}'$, but the two composites may agree for some monads. This question, and its implications are another key topic in the theory of monads. We shall begin exploring the details in the next post.