A Freyd category is one way to axiomatize models of call-by-value? programming languages. It abstracts the structure of the Kleisli category of a monad, consisting of a category $\mathbb{V}$ that model values and another category with the same objects $\mathbb{C}$ that model computations.
Freyd categories resolve the following complaint about using monads and Kleisli categories to model impure effects in programming languages. The Kleisli category for a monad presumes the existence of some slightly higher-order types, since if $X$ is an object then so is $T(X)$, and yet it is surely possible to understand the nature of effectful computation without also assuming the existence of certain types. Freyd categories make sense even for purely first order programming languages, and the object $T(X)$, if it exists, has a universal property, thus decoupling this relationship.
A Freyd category (following Levy 04) may be defined as
An alternative but equivalent definition is as follows (following Power, Thielecke):
A Freyd category is given by
If $T$ is a strong monad on a category $\mathbb{V}$ with finite products, then the Kleisli category of $T$ forms a Freyd category and $J$ has a right adjoint.
Conversely, if $(\mathbb{V},\mathbb{C},J)$ is a Freyd category and $J$ has a right adjoint $R$, then the Freyd category arises as the Kleisli category of the monad $RJ$.
To give a small Freyd category is to give an enriched Lawvere theory relative to the empty sound doctrine where the enriching category is cartesian closed.
For example, if ($\mathrm{FinSet}^{\mathrm{op}}\to \mathbb{T}$) is an ordinary Lawvere theory, then its dual ($\mathrm{FinSet}\to \mathbb{T}^{\mathrm{op}}$) is a Freyd category.
The Lawvere theory is commutative if and only if the premonoidal category $\mathbb{T}^{\mathrm{op}}$ is in fact monoidal.
A minor generalization of Freyd category allows $\mathbb{V}$ to be symmetric monoidal rather than cartesian monoidal. Then a commutative Freyd category $\mathrm{FinSet}_{\mathrm{bij}}\to \mathbb{C}$ is the same thing as a PROP.
This relates to the situation with monads as follows. If $T$ is a strong monad on the presheaf category $\hat{\mathbb{V}}$ then the Kleisli category $\hat{\mathbb{V}}\to (\hat{\mathbb{V}})^T$ is a Freyd category. But also the identity-on-objects/full-and-faithful factorization of the composite $\mathbb{V}\to \hat{\mathbb{V}}\to (\hat{\mathbb{V}})^T$ yields a Freyd category over $\mathbb{V}$.
Every Freyd category arises in this way, giving a correspondence between colimit-preserving strong monads on $\hat{\mathbb{V}}$ and Freyd categories over a category $\mathbb{V}$ with products.
On the other hand, a colimit-preserving monad on $\hat{\mathbb{V}}$ is the same thing as a monad in the category of profunctors whose carrier is $\mathbb{V}$. But this is the same thing as an identity on objects functor $\mathbb{V}\to\mathbb{C}$. And this is a Freyd category if and only if the monad is strong.
Freyd categories were first used in
and named Freyd categories in
and the longer journal version of that paper has more discussion:
The definition with monoidal actions appears in
The idea of extending Freyd categories to monads on presheaf categories appears in
This also contains the observation that enriched Lawvere theories are examples of Freyd categories, but the precise correspondence between the concepts is given in
The connection with monads in the category of profunctors is discussed in
and
Having the same objects is required or implied by having an identity-on-objects functor from $\mathbb{V}$ to $\mathbb{C}$. ↩
Last revised on November 8, 2017 at 10:10:03. See the history of this page for a list of all contributions to it.