Category Theory
Zulip Server
Archive

You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.


Stream: learning: questions

Topic: Free monads, multisets, and string diagrams


view this post on Zulip Ben Sprott (Jan 11 2021 at 19:16):

Take GpdGpd as the 2-Category of groupoids. Consider the multiset monad on GpdGpd.

We know from this post that GpdGpd is locally presentable.

A free monad is a free object relative to a forgetful functor whose domain is a category of monads. (See here).

There is some talk in the link just above about how locally presentable is related to having free monads on a category but I can't quite decipher it. I would like to say that, because GpdGpd is locally presentable, the multiset monad on GpdGpd is free. I'm not sure if this is true.

From this article we see that there is a string diagram calculus over free monads. I assume, then, that muliset-GpdGpd can be incorporated into string diagrams and be combined with other free monads.

Does anyone know any examples of Free Monads?

view this post on Zulip Todd Trimble (Jan 12 2021 at 16:39):

The "multiset monad" (perhaps better known as the commutative monoid monad) is not a free monad, I'm positive. An example of a free monad is the monad whose algebras are magmas, where the theory is given by a single binary operation not subject to any equational axioms. Indeed, you should probably think of a typical free monad F(M)F(M) on a monad MM as describing an algebraic theory that can be given by operations but with no equational axioms imposed.

It might be wise to consider the case of SetSet before GpdGpd, just to get a sense of the meanings of these things. Given an endofunctor MM on SetSet, you can think of M(X)M(X) as a set of formal XX-ary operations; for example, of M(2)M(2) as a set of binary operations. What the free monad does in effect is "close up" those formal operations under the process of substituting tuples of operations into an another operation to form a more complex operations. For example, closing up a single formal binary operation in this way, the operations encoded by the free monad are given by binary trees.

Commutative monoids, on the other hand, are models of a theory where equational axioms of associativity and commutativity are imposed, so you should be innately suspicious of a claim that these could be given by a free monad.

The business of local presentability and accessible functors is just to give some general criteria sufficient to guarantee that a free monad can be constructed. If MM is an accessible functor on a locally presentable category, then you can form the free monad on MM. If some sorts of control like that are absent, e.g., if someone hands you an endofunctor MM that isn't accessible, all bets are off on whether the free monad on MM can be formed: maybe sometimes yes, maybe more times no, but it would depend on the specifics of MM.

view this post on Zulip Ben Sprott (Jan 12 2021 at 18:24):

Excellent reply. Thank you @Todd Trimble . Is it possible that the list monad is free since the algebras are just( I think free) monads? I would take that monad on Set, so List-Set.

view this post on Zulip Todd Trimble (Jan 12 2021 at 18:29):

No. The algebras are just monoids, not necessarily free. The associativity equation is an imposed equational axiom on monoids.

view this post on Zulip Reid Barton (Jan 12 2021 at 18:36):

See also https://mail.haskell.org/pipermail/haskell-cafe/2017-January/126026.html

view this post on Zulip John Baez (Jan 12 2021 at 20:30):

That https://mail.haskell.org/pipermail/haskell-cafe/2017-January/126026.html comment is nice. Could someone spare me some trouble and explain in the language of mathematics what the monad "Unit" is?

view this post on Zulip John Baez (Jan 12 2021 at 20:31):

The comment talks about the free monad on Unit and then the free monad on that (or more precisely, on the underlying functor of that).

view this post on Zulip John Baez (Jan 12 2021 at 20:32):

By general abstract nonsense there should be a morphism FF(Unit) \to Unit, where F means the underlying functor of the free monad on a endofunctor (which however may not always exist).

view this post on Zulip Nathanael Arkor (Jan 12 2021 at 20:40):

John Baez said:

That https://mail.haskell.org/pipermail/haskell-cafe/2017-January/126026.html comment is nice. Could someone spare me some trouble and explain in the language of mathematics what the monad "Unit" is?

By Unit, they mean the terminal functor, sending everything to the terminal object.

view this post on Zulip John Baez (Jan 12 2021 at 20:42):

Thanks! I figured it had to be something simple...

view this post on Zulip John Baez (Jan 12 2021 at 20:44):

So, people who want to understand free monads should try to compute the free monad on the terminal functor F:SetSetF: \mathsf{Set} \to \mathsf{Set} and then compare their answer to what Ingo Blechschmidt said.

view this post on Zulip Reid Barton (Jan 12 2021 at 20:59):

The answer is the "free pointed set monad" TX=1+XTX = 1 + X (aka Maybe).