# Cours 6: Algebraic theories

Pointed set:

a set $A$ equipped with an element

One should think of $\ast$ as a $0$-ary operation $1 = A^0 ⟶ A$.

$n$-ary operation:

element of $A^n ⟶ A$

Monoid:

• set equipped with binary operation $A^2 ⟶ A$
• with associativity law: $m(m(x, y), z) = m(x, m(y, z))$

Partiality monad: $1+A$ ⟺ the “free pointed set” monad

# Algebraic theories

A signature $Σ$:

is a family $(Σ_n)_{n∈ℕ}$ of sets

An element $f∈Σ_n$ is called an “operation of arity $n$”

$f ∈ Σ_2 \quad f(f(x, y), f(f(x, y), y))$
A term of a signature $Σ$ with variables in $X$:

is a finite tree of which nodes are the operations of $Σ$ and leaves are in $X \sqcup Σ_0$

NB: notation: $Term(Σ, X)$

An algebraic theory of signature $Σ$:

is a family of pairs $(t, n)$ (also written $t = u$)

• $X = \lbrace x_0, ⋯, x_n \rbrace$
• $t ∈ Term(Σ, X)$
• $u ∈ Term(Σ, X)$
Given a set $X$ of variables and algebraic theory:
$T(X) = Term(Σ, X)/\sim$

where $\sim$ is the equivalence relation generated by the equations of the theory

Ex: The algebraic theory of monoids

• $Σ_2 = \lbrace m \rbrace$
• $Σ_0 = \lbrace e \rbrace$

• Signature:

• $Σ_n = ∅$ for $n ≠ 0, 2$
• $Σ = \lbrace m:2, e:0 \rbrace$
• Equations:

• associativity: $m(m(x, y), z)$
• unit laws: $m(e, x) = x = m(x, e)$

In the case of the algebraic theory of monoids:

$T(X) = \left\lbrace \text{trees generated by m, e with leaves in X} \right\rbrace / \text{assoc, unit laws} \\ = \lbrace \text{finite words on } X \rbrace = \bigsqcup_{n∈ℕ} A^n$

Ex: Magmas

Magma:

a set equipped with a binary operation $m: A^2 ⟶ A$

(no associativity, no unit)

$T(X) = \lbrace \text{binary trees with leaves in } X\rbrace = Term(Σ, X)$
Commutative monoids:
$m(x, y) = m(y, x)$
$T(X) = \lbrace \text{finite multiset on the alphabet } X \rbrace$

Th: algebraic theory defines a monad $T: Set ⟶ Set$ in that way

$η: \begin{cases} A &⟶ TA \\ a &⟼ \text{the equivalence class of } a ∈ Term(Σ, A) \end{cases}$

and

$μ: TTA ⟶ TA$

natural in $A$.

An element of $T(TA)$:

is a tree of signature $Σ$ with leaves in $TA$ (and also in $Σ_0$) modulo the equations of the algebraic theory.

For every such leaf $[t_i] ∈ TA$, one can pick an element $t_i ∈ Term(Σ, A)$ such that $[A_i]$ is the equivalence class of $t_i$

Substitute $t_1, ⋯, t_n$ in the tree $A ∈ Term(Σ, TA)$ to obtain $t[t_1, ⋯, t_n] ∈ Term(Σ, A)$

The equivalence class $[\;\underbrace{t[t_1, ⋯ , t_n]}_{∈ Term(Σ,A)}\;] ∈ T(A)$

does not depend on the choice of $t_1, ⋯, t_n$ but only on their equivalence classes

$[t] ∈ TTA, \quad [t_i]∈ TA$

## Algebraic theory of the commutative rings

$Σ = \lbrace 0: 0, 1: 1, -:1, ×: 2, +:2 \rbrace$
• $+, ×$ are associative and commutative
• $0, 1$: neutral elements
• $-$: inverse law
• distributivity
$T(X) = ℤ[X]$

since we can push the $×$ under the $+$ and $-$, by distributivity.

# Algebras of algebraic theories

An algebra of an algebraic theory:

is a set $A$ equipped with a function $op ≝ f: A^n ⟶ A$ for every operation $f ∈ Σ_n$ of arity $n$, and satisfies the equations of the theory.

A homomorphism $A ⟶ B$ between such algebras:

is a function $h: A ⟶ B$ such that $h(op_A(a_1, ⋯, a_n)) = op_B(h(a_1), ⋯, h(a_n))$ for all $op∈ Σ_n, \; a_1, ⋯, a_n ∈ A$

Th: $TA$ is the free algebra generated by the set $A$ in the sense that for every function $f: A ⟶ B$ where $B$ is an algebra, there exists a unique homomorphism $h: TA ⟶ B$ such that

$\begin{xy} \xymatrix{ TA \ar[r]^h & B \\ A \ar[u]^{η_A} \ar[ru]_f } \end{xy}$

commutes

## The state monad

Fact: the state monad can be defined as the monad associated to a specific algebraic theory of mnemoids.

The free mnemoid generated by $A$ = $S ⟹ (S × A)$

To make things simpler, let us take $V = S = \lbrace true, false \rbrace$

$lookup: \begin{cases} A^2 &⟶ A \\ (M, N) &⟼ \begin{cases} M \text{ if the register is } true \\ N \text{ else} \end{cases} \end{cases}$

and

• $update_{⟨true⟩}: A ⟶ A$
• $update_{⟨false⟩}: A ⟶ A$
$lookup(update_{⟨true⟩}, update_{⟨false⟩}) = x$

## How does one recover the algebra of a given alg. theory from the monad $T$?

For instance: can we recover the notion of monoid from the monad $TA = \bigsqcup_{n∈ℕ} A^n$?

• unit of the monad: $η_A: A ⟶ TA$
• multiplication of the monad: $μ_A: TTA ⟶ TA$
An algebra of a monad $T: 𝒞 ⟶ 𝒞$:

is an object $A$ of the category $𝒞$ equipped with a morphism $h: TA ⟶ A$ s.t. the following diagrams commute: $\begin{xy} \xymatrix{ TA \ar[rd]^h \\ A \ar[u]^{η_A} \ar[r]_{id_A} & A } \end{xy}$

and

$\begin{xy} \xymatrix{ TTA \ar[r]^{Th} \ar[d]_{μ_A} & TA \ar[d]^h \\ TA \ar[r]_h & A } \end{xy}$
A homomorphism between $T$-algebras $f: (A, h_A) ⟶ (B, h_B)$:

is a morphism $f: A ⟶ B$ s.t. the following diagram commutes: $\begin{xy} \xymatrix{ TA \ar[r]^{Tf} \ar[d]_{h_A} & TB \ar[d]^{h_B} \\ A \ar[r]_f & B } \end{xy}$

This defines a category $Alg$ whose objects are the $T$-algebras whose morphisms are the homomorphisms between them.

Th: for every algebraic theory, the category of algebras (and homomorphisms) of the theory is isomorphic to the category of $T$-algebras for the associated monad $T$.

Example: in the case of the “free monoid monad” $T: Set ⟶ Set$, $TA ≝ \bigsqcup_{n∈ℕ} A^n$

a function $h: TA ⟶ A$ is the same thing as a family of functions $h_n: A^n ⟶ A$

NB: $h_n(a_1, ⋯, a_n)$ can be thought of as $a_1 ⋯ a_n$

In particular:

• neutral element: $h_0: A^0 = \lbrace \star \rbrace ⟶ A$
• multiplication: $h_2: A^2 ⟶ A$

Claim: $h_2(h_2(a, b), c) = h_3(a, b, c)$

Because of $\begin{xy} \xymatrix{ [[a, b], c] ∈ TTA \ar[r]^{\qquad Th \qquad } \ar[d]_{μ_A} & TA\ni [h_2(a,b), h_1(c)] \ar[d]^h \\ [a, b, c] ∈ TA \ar[r]_{h \qquad \qquad} & A \ni h_2(h_2(a, b), h_1(c))=h_3(a, b, c) } \end{xy}$

Claim: $h_1(a) = a$

Because of $\begin{xy} \xymatrix{ [a] ∈ TA \ar[rd]^h \\ a ∈ A \ar[u]^{η_A} \ar[r]_{id_A} & A \ni h_1(a)=a } \end{xy}$

More generally:

$h_2(h_p(a_1, ⋯, a_p), h_q(a_1', ⋯, a_q')) = h_{p+q}(a_1, ⋯, a_p, a_1', ⋯, a_q')$

Hence: a $T$-algebra for the free monoid monad $T$ is entirely determined by $h_0$ and $h_1$:

$h_n(a_1, ⋯, a_n) = h_2(a_1, h_2(a_2, ⋯, a_n))$

Associativity comes from the equation $h_2(a, h_2(b, c)) = h_3(a, b, c) = h_2(h_2(a, b), c)$

We can recover the monad from the notion of $T$-algebra ⟶ the monad is an invariant of an algebraic theory.

## From Monads to categories of $T$-algebras

For every monad $T: 𝒞 ⟶ 𝒞$ , there is an adjunction

$\xymatrix{ 𝒞 \ar@/^1cm/[r]^{F \text{ Free}} & Alg_T \ar@/^1cm/[l]^{𝒰 \text{ forget}} }$ $𝒰: (A, h) ⟼ A$ $F: A ⟼ (TA, \; μ_A: TTA ⟶ TA)$

### Observation:

every object $A$ of the category $𝒞$ induces a $T$-algebra $(TA, μ_A)$

$μ_A: TTA ⟶ TA$

The monad $T = 𝒰 \circ F$ is recovered from the adjunction.

A monoid is a topological space equipped with a contractible space of operations ⟹ operads ($A_∞$-algebras)

Operads: generalization of algebraic theories to a topological space of operations

## Back to homorphisms: why are they so simple?

$\begin{xy} \xymatrix{ \bigsqcup_{n∈ℕ} A^n = TA \ar[r]^{Tf} \ar[d]_{h_A} & TB = \bigsqcup_{n∈ℕ} B^n \ar[d]^{h_B} \\ A \ar[r]_f & B } \end{xy}$

means that

$\begin{xy} \xymatrix{ A^n \ar[r]^{f^n} \ar[d]_{(h_A)_n} & B^n \ar[d]^{(h_B)_n} \\ A \ar[r]_f & B } \end{xy}$

In other words:

$h_n(fa_1, ⋯, fa_n) = f(h_n(a_1, ⋯, a_n))$

Tags:

Updated: