Lecture 11: Categorical model of LL and Eilenberg-Moore category of $!$

Teacher: Thomas Ehrhard

Lecture 11

\newcommand\xto\xrightarrow \newcommand\xfrom\xleftarrow \newcommand{\Tr}{\mathop{\mathrm{Tr}}}

Model of linear logic:

⟨ \underbrace{\underbrace{ℒ, 1, ⊗, λ, ρ, α, σ}_{\text{SMC category}}, ⊥}_{\star\text{-autonomous and cartesian}}, !, der, dig, m^0, m^2⟩

Derived structures

For any $X ∈ ℒ$, $!X$ has a structure of symmetric comonoid.

!X \overset{w_X}{⟶} 1\\ \; \\ !X \overset{c_X}{⟶} !X ⊗ !X\\
\begin{xy} \xymatrix{ !X \ar[r]^{ c_X } \ar[d]_{ λ_X^{-1} } & !X ⊗ !X \\ 1 ⊗ !X \ar@{<-}[ru]_{ w_X ⊗ !X } & } \end{xy}
\begin{xy} \xymatrix{ !X \ar[r]^{ c_X } \ar[d] & !X ⊗ !X \ar[r]^{ c_X ⊗ !X } & (!X ⊗ !X) ⊗ !X \ar[d]^{ α_{!X,!X,!X}} \\ !X ⊗ !X \ar[rr]_{ !X ⊗ c_X } & & !X ⊗ (!X ⊗ !X) } \end{xy}
\begin{xy} \xymatrix{ !X \ar[r]^{ c_X } \ar[d]_{ c_X } & !X ⊗ !X \\ !X ⊗ !X \ar@{<-}[ru]_{ σ_{!X, !X} } & } \end{xy}

defined by

X \overset{t_X}{⟶} ⊤

the unique element of $ℒ(X, ⊤)$ ($⊤$ is terminal):

!X \overset{!t_X}{⟶} !⊤ \overset{(m^0)^{-1}}{⟶} 1
X \overset{⟨id,id⟩}{⟶} X \& X\\ !X \overset{!⟨id,id⟩}{⟶} !(X \& X) \overset{(m^2)^{-1}}{⟶} !X ⊗ !X
μ^0: 1 ⟶ !1 \\ μ^2_{X,Y}: !X ⊗ !Y ⟶ !(X ⊗ Y) \text{ natural in } X, Y

defined by:

μ^0: 1 \overset{m^0}{\overset{≃}{⟶}} ! ⊤ \overset{dig_⊤}{⟶} !!⊤ \overset{(!m^0)^{-1}}{\overset{≃}{⟶}} !1\\ \; \\ μ^2_{X,Y}: !X ⊗ !Y \overset{m_{X,Y}^2}{⟶} !(X \& Y) \overset{dig_{X \& Y}}{⟶} !!(X \& Y) \overset{!((m_{X,Y}^2)^{-1})}{⟶} !(!X ⊗ !Y) \overset{!(der_X ⊗ der_Y)}{⟶} !(X ⊗ Y)
μ^n_{X_1, …, X_n}: !X_1 ⊗ ⋯ ⊗ !X_n ⟶ !(X_1 ⊗ ⋯ ⊗ X_n)
\begin{xy} \xymatrix{ !X_1⊗!X_2⊗!X_3 \ar[r]^{!X_1⊗μ^2} \ar[d]_{μ^2⊗!X_3} & !X_1⊗!(X_2⊗X_3) \ar[d]^{μ^2_{X_1,X_2⊗X_3}} \\ !(X_1⊗X_2)⊗!X_3 \ar[r]_{μ^2_{X_1⊗X_2,X_3}} & !(X_1⊗X_2⊗X_3) } \end{xy}

One has:

\begin{xy} \xymatrix{ 1⊗!X \ar[r]^{ μ^0 ⊗ !X} \ar[rdd]_{ λ_{!X}^{-1} } & !1⊗!X \ar[d]^{ μ^2_{1,X} } \\ & !(1 ⊗ X) \ar[d]^{!(λ_X^{-1})} \\ & !X } \end{xy}
\begin{xy} \xymatrix{ (!X_1⊗!X_2)⊗!X_3 \ar[r] \ar[d]_{α} & !(X_1⊗X_2)⊗!X_3 \ar[d] \\ !X_1⊗(!X_2⊗!X_3) \ar[d] & !((X_1⊗X_2)⊗X_3) \ar[d]^{!α} \\ !X_1⊗!(X_2⊗X_3) \ar[r] & !(X_1⊗(X_2⊗X_3)) } \end{xy}

Promotion: the only rule which gives rise to infinite computations (the most complicated one)

\cfrac{!C_1^⊥, …, !C_n^⊥ ⊢ A}{!C_1^⊥, …, !C_n^⊥ ⊢ !A}

given

f ∈ ℒ(!X_1 ⊗ ⋯ ⊗ !X_n, Y) \\ ⟹ f^! ∈ ℒ(!X_1 ⊗ ⋯ ⊗ !X_n, !Y)
!X_1 ⊗ ⋯ ⊗ !X_n \overset{dig_{X_1} ⊗ ⋯ ⊗ dig_{X_n}}{⟶} !!X_1 ⊗ ⋯ ⊗ !!X_n \overset{μ^n_{!X_1, …, !X_n}}{⟶} !(!X_1 ⊗ ⋯ ⊗ !X_n)

Cut-elimination between promotion and contraction:

\infer[cut]{⊢ ?Γ, Δ}{ \infer[prom]{⊢ ?Γ, !A}{⊢ ?Γ, A} & \infer{⊢ Δ, ?A^⊥}{⊢ Δ, ?A^⊥, ?A^⊥} }

turned into

\infer[contr]{⊢ ?Γ, Δ}{ \infer{\vdots}{ \infer{⊢ ?Γ, ?Γ, Δ}{ \infer{⊢ ?Γ, !A}{⊢ ?Γ, A} & \infer{⊢ ?Γ, Δ, ?A^⊥}{ \infer{⊢ ?Γ, !A}{⊢ ?Γ, A} & \infer{⊢ Δ, ?A^⊥, ?A^⊥}{} } } } }

cf. pictures

For proof nets:

π ⟶ π'\\ [π] ⟶ [π']

The Eilenberg-Moore category of $!$: $ℒ^!$

A coalgebra of $!$ is:

a pair $P \; ≝ \; (\underline P, h_P)$ where

  • $\underline P ∈ ℒ$
  • $h_P ∈ ℒ(\underline P, !\underline P)$

such that

\begin{xy} \xymatrix{ \underline P \ar[r]^{ h_P } \ar[d]_{ id } & ! \underline P \\ \underline P \ar@{<-}[ru]_{ der_{\underline P} } & } \end{xy}

and

\begin{xy} \xymatrix{ \underline P \ar[r]^{h_P} \ar[d]_{h_P} & ! \underline P \ar[d]^{!h_P} \\ ! \underline P \ar[r]_{dig_{\underline P}} & !! \underline P } \end{xy}

commute

Intuition: a coalgebra is a “formula” together with “structural rules” for this formula

\widetilde w_P: \underline P \overset{h_P}{⟶} ! \underline P \overset{w_{\underline P}}{⟶} 1\\ \widetilde c_P: \underline P \overset{h_P}{⟶} ! \underline P \overset{c_{\underline P}}{⟶} ! \underline P ⊗ ! \underline P \overset{der_{\underline P} ⊗ der_{\underline P}}{⟶} \underline P ⊗ \underline P

$(\underline P, \widetilde w_P, \widetilde c_P)$ is a commutative comonoid.

Morphisms from $P ≝ (\underline P, h_P)$ to $Q ≝ (\underline Q, h_Q)$:

$f ∈ ℒ(\underline P, \underline Q)$ such that

\begin{xy} \xymatrix{ \underline P \ar[r]^{f} \ar[d]_{h_P} & \underline Q \ar[d]^{h_Q} \\ ! \underline P \ar[r]_{! f} & ! \underline Q } \end{xy}

commutative

$ℒ^!$ is cartesian

$ℒ^!$ is a category which is cartesian, where

  • the terminal object is $1$
  • the cartesian product of $P$ and $Q$ is $(P ⊗ Q, π_1, π_2)$, where

    \underline P ⊗ \underline Q \overset{h_P ⊗ h_Q}{⟶} !\underline P ⊗ !\underline Q \overset{μ^2_{\underline P, \underline Q}}{⟶} !(\underline P ⊗ \underline Q)

Then you have

\underline {P ⊗ Q} = \underline P ⊗ \underline Q \overset{\underline P ⊗ \widetilde w_Q}{⟶} \underline P ⊗ 1 \overset{ρ_{\underline P}}{⟶} \underline P

and if $f ∈ ℒ^!(R, P), g ∈ ℒ^!(R, Q)$:

\underline R \overset{\widetilde c_R}{⟶} \underline R ⊗ \underline R \overset{f ⊗ g}{⟶} \underline P ⊗ \underline Q

NB: this comes from the fact that the Kleisli category preserves products

$ℒ^!$ is cocartesian

P ⊕ Q = (\underline P ⊕ \underline Q, h_{P ⊕ Q})
\underline P ⊕ \underline Q \overset{h_{P ⊕ Q} \; ≝ \; [!in_1 h_P, !in_2 h_Q]}{\quad ⟶ \quad} !(\underline P ⊕ \underline Q)

NB: this comes from the fact that the Eilenberg-Moore category preserves coproducts

cf. pictures

And $⊗$ distributes over $⊕$

$ℒ^!$ is “never” a ccc


If $X ∈ ℒ$:

(!X, dig_X) ∈ ℒ^! \qquad !X \overset{dig_X}{⟶} !!X
f ∈ ℒ(X, Y) \qquad !f ∈ ℒ^!((!X, dig_X), (!Y, dig_Y))
E: ℒ ⟶ ℒ^!

The Kleisli category of $!$, $ℒ_!$, is “the image” of $ℒ$ in $ℒ^!$ by the functor $E$.

Obj(ℒ_!) = Obj(ℒ)\\ ℒ_!(X, Y) = ℒ^!((!X, dig_X), (!Y, dig_Y)) ≅ ℒ(!X, Y)

where

ℒ(!X, Y) \ni f ⟼ f^! ∈ ℒ^!((!X, dig_X), (!Y, dig_Y)) \qquad \text{(promotion)}
id_X \; ≝ \; der_X ∈ ℒ_!(X, X) = ℒ(!X, X)

and if $f ∈ ℒ_!(X, Y)$ and $g ∈ ℒ_!(Y, Z)$:

g \circ f \; ≝ \; !X \overset{dig_X}{⟶} !!X \overset{!f}{⟶} !Y \overset{g}{⟶} Z

$ℒ_!$ is cartesian closed

Girard’s CBN representation of JL in LL:

  • $ℒ_!$ has $⊤$ as terminal object
  • Cartesian product:

    (X \& Y, pr_1 der_{X \& Y}, pr_2 der_{X \& Y})
    !(X \& Y) \overset{der_{X,Y}}{⟶} X \& Y \overset{pr_1}{⟶} X

    and if

    • $f ∈ ℒ_!(Z,X) \qquad f ∈ ℒ(!Z,X)$
    • $g ∈ ℒ_!(Z,Y) \qquad g ∈ ℒ(!Z,Y)$

    then

    ⟨f, g⟩ ∈ ℒ(!Z, X \& Y)

cf pictures

It is not cocartesian: it has fix point operators, and you can’t have these and coproduct at the same time.

Closure:

X ⇒ Y \; ≝ \; !X ⊸ Y

cf. pictures

A concrete Model of LL

1960’s Christopher Strachey

1969: Strachey met Dana Scott in Oxford ⟶ Denotational semantics

Category of complete lattices and continuous functions ⟶ models of the pure $λ$-calculus:

D_∞ = (D_∞ ⇒ D_∞)

Account for the determinism of computations:

  • In the 70’s: Gérard Berry introduced stable semantics ($dI$-domains)
  • In the 80’s: Berry and P-L. Curien: sequential algorithms ⟹ game semantics

85: Girard rediscovered stable semantics in coherence spaces (a “small” subcategory of $dI$-domains) ⟶ LL

$PoL$ (Preorder linear functions):

  • Objects: preorders $S \; ≝ \; (\underbrace{\vert S \vert}_{\text{web}}, \underbrace{≤_S}_{\text{transitive reflexive}})$

    • why a preorder relation? Because of the exponential (we will see later)
Complete lattice $ℐ(S)$ from a preorder $S$:

Initial segments: ℐ(S) \; ≝ \; \lbrace u ⊆ \vert S \vert \; \mid \; ∀ a ∈ u, ∀ a' ∈ \vert S \vert, a' ≤_S a ⟹ a' ∈ u \rbrace

$(ℐ(S), ⊆)$ is a complete lattice, that is:

if $(u_i)_{i ∈ I}$ is a family of elements of $ℐ(S)$, then \bigcup\limits_{i ∈ I} u_i ∈ ℐ(S)

$∅ ∈ ℐ(S), \vert S \vert ∈ ℐ(S)$

Linear maps

$f: S ⟶ T$ in $PoL$ if $f: ℐ(S) ⟶ ℐ(T)$ s.t.

∀ (u_i)_{i ∈ I} ∈ ℐ(S)^I, \quad f(\bigcup\limits_{i∈I} u_i) = \bigcup\limits_{i∈I} f(u_i)

i.e. $f$ is a linear function on initial segments. In particular:

f(∅) = ∅ \\ f(u ∪ v) = f(u) ∪ f(v)

NB:

  • note that we don’t have $f(\vert S \vert) = \vert T \vert$

  • we commute with all unions: for all $A ⊆ ℐ(S)$, f(\bigcup A) = \bigcup\limits_{u ∈ A} f(u) not only directed unions! (that’s the difference with Scott-continuous functions: for example, commuting with the empty family yields $f(∅) = ∅$, which we have not with Scott-continuous functions)

Least element of $ℐ(S)$ containing $a$:
↓ a \; ≝ \; \lbrace a' ∈ \vert S \vert \; \mid \; a' ≤_S a\rbrace

Trace

If $f∈ PoL(S, T)$, define

tr(f) \; ≝ \; \lbrace (a,b) ∈ \vert S \vert × \vert T \vert \; \mid \; b ∈ f(↓a)\rbrace ⊆ \vert S \vert × \vert T \vert

Lolipop

$S, T$ are preorders

S ⊸ T = (\vert S \vert × \vert T \vert, ≤_{S ⊸ T})
(a,b) ≤_{S ⊸ T} (a',b') ⟺ a' ≤_S a \; ∧ \; b ≤_T b'
≤_{S ⊸ T} \; ≝ \; ≥_S × ≤_T

Let $s ∈ ℐ(S ⊸ T)$:

fun(s): \begin{cases} ℐ(S) &⟶ 𝒫(\vert T \vert) \\ u &⟼ \lbrace b ∈ \vert T \vert \; \mid \; ∃ a ∈ u \quad (a, b) ∈ s\rbrace \end{cases}
  • $fun(s)(u) ∈ ℐ(T) \qquad ∀ u ∈ ℐ(S)$:

    if $b ∈ fun(s)(u)$ and $b’ ∈ \vert T \vert$ st $b’ ≤_T b$: we have some $a ∈ u, (a,b) ∈ s$:

    (a, b') ≤_{S ⊸ T} (a,b)

    so $(a, b’) ∈ s$, so $b’ ∈ fun(s)(u)$

  • $fun(s)$ is linear: let $A ⊆ ℐ(S)$

    fun(s)(\bigcup A) = \bigcup\limits_{u ∈ A} fun(s)(u)
fun: ℐ(S ⊸ T) ⟶ PoL(S, T)\\ tr: PoL(S, T) ⟶ 𝒫(\vert S ⊸ T \vert)

If $f ∈ PoL(S, T)$, then $tr(f) ∈ ℐ(S ⊸ T)$.

NB: $f$ is monotonic: if $u, v ∈ ℐ(S), u ⊆ v$, then $f(v) = f(u ∪ v) = f(u) ∪ f(v)$ and so $f(u) ⊆ f(v)$.

  • $tr(f) ∈ ℐ(S ⊸ T)$:

    Let $(a, b) ∈ tr(f)$.

    (a',b') ∈ \vert S ⊸ T \vert = \vert S \vert × \vert T \vert \quad \text{ with } (a', b') ≤_{S ⊸ T} (a,b)

    that is:

    b' ≤_T b \qquad a ≤_S a'

    Since $(a,b) ∈ tr(f)$, $b ∈ f(↓ a)$.

    $a ≤_S a’$, so ↓a ⊆ ↓a'

    On top of that:

    b ∈ f(↓a) ⊆ f(\underbrace{↓a'}_{∈ ℐ(T)}) because $f$ is monotonic. So

    b' ≤_T b ∈ f(↓a')

    So $b’ ∈ f(↓a’)$, that is

    (a',b') ∈ tr(f)

Lastly: one has

tr \circ fun = id \\ fun \circ tr = id

Let’s show

  • $fun \circ tr = id$:

    Let $f ∈ PoL(S, T)$, let $s = tr(f)$.

    We want to show that $fun(s) = f$.

    Let $u ∈ ℐ(S)$: we show that $fun(s)(u) = f(u)$.

    • $⊆$:

      Let $b ∈ fun(s)(u), a ∈ u$ s.t.

      (a,b) ∈ s = tr(f)

      i.e.

      b ∈ f(↓a)

      but $a ∈ u$, so

      ↓a ⊆ u

      $f$ is monotonic, so $b ∈ f(↓a) ⊆ f(u)$, so $b ∈ f(u)$

    • $\supseteq$:

      Let $b ∈ f(u)$. One has

      u = \bigcup\limits_{a ∈ u} ↓ a

      because $u ∈ ℐ(S)$.

      b ∈ f(u) = \bigcup\limits_{a ∈ u} f(↓a)

      because $f$ is linear.

      So there exists $a ∈ u$ st $b ∈ f(↓a)$, i.e.

      (a, b) ∈ tr(f) = s

      so

      b ∈ fun(s)(u)

NB:

  • $f ∈ PoL(S, T), g ∈ PoL(T, U), g \circ f ∈ PoL(S, U)$:

    tr(g \circ f) = tr(g) tr(f) \; ≝ \; \lbrace (a, c) ∈ \vert S \vert × \vert U \vert \; \mid \; ∃ b ∈ \vert T \vert ; (a, b) ∈ tr(f) ∧ (b, c) ∈ tr(g)\rbrace\\ id ∈ PoL(S, S)\\ tr(id) \; ≝ \; \lbrace (a,a') ∈ \vert S \vert \; \mid \; a' ≤_S a\rbrace
  • $s ∈ ℐ(S ⊸ T) \quad t ∈ ℐ(T ⊸ U)$:

    ts \; ≝ \; \lbrace (a,c) \; \mid \; ∃ b ∈ \vert T \vert ; (a,b) ∈ s ∧ (b, c) ∈ t\rbrace

    then $ts ∈ ℐ(S, U)$ (easy)

    fun(ts) = fun(t) \circ fun(s)

    if

    id_S = \lbrace (a, a') ∈ \vert S \vert × \vert S \vert \; \mid \; a ≤_S a'\rbrace

    then

    id_S ∈ ℐ(S ⊸ S) \text{ and } fun(id_S) = id

⟶ functorial correspondence

Leave a comment