Lecture 15: Realisability, $PoLR_!$ not fully abstract
Lecture 15
\[Φ = (x_1: u^1: A_1, …, x_n: u^n: A_n)\\ \underline Φ = (x_1: A_1, …, x_n: A_n)\] \[a ∈ \vert [A] \vert \\ \vert a \vert^A ⊆ \lbrace M \; \mid \; ⊢ M: A \rbrace\\ u^0 ∈ \vert ! [A] \vert\\ \underbrace{\vert u^0 \vert^A}_{= \bigcap_{a ∈ u^0} \vert a \vert^A} ⊆ \lbrace M \; \mid \; ⊢ M: A\rbrace\] \[\vert ζ \vert^ι = \lbrace M \; \mid \; ⊢ M \, β_{wh} \underline 0 \rbrace\\ \vert \overline{suc}(u^0) \vert^ι = \lbrace M \; \mid \; ⊢ M: ι \qquad M \, β_{wh}^\ast \underline {suc} (N), N ∈ \vert u^0 \vert^ι_! \rbrace\\ \vert (u^0, b) \vert^{A → B} = \lbrace M \; \mid \; ⊢ M: A → B \quad ∀ N ∈ \vert u^0 \vert^A_!, (M)N ∈ \vert b \vert^B\rbrace\]Lemma 1: $⊢ M: A$ and $⊢ M’:A$
If \(M \, β_{wh}^\ast \, M' ∈ \vert a \vert^A\)
then \(M ∈ \vert a \vert^A\)
(if $M \, β_{wh}^\ast \, M’ ∈ \vert u^0 \vert^A_!$, then $M ∈ \vert u^0 \vert^A_!$)
Lemma: if $a ≤_{[A]} a’$, then \(\vert a \vert^A \supseteq \vert a' \vert^A\)
(and if $u^0 ≤_{![A]} u^1$ then $\vert u^0 \vert^A_! \supseteq \vert u^1 \vert^A_!$)
Th: if \(\overbrace{x_1: u^1 : A_1, …, x_n: u^n : A_n}^{Φ} ⊢ M: a : A\)
then for all $N_1, …, N_n$ such that $∀i, \quad N_i ∈ \vert u^i \vert^{A_i}_!$ (so $⊢ N_i: A_i$) then
\[M[N_i/x_i]_i ∈ \vert a \vert^A\]
Proof: By induction on the derivation of the first sequent (cf. picture).
Consequences:
- if $⊢ M : ι$ and $[M] ≠ ∅$, then $M$ is $β_{wh}$-normalizable.
- in particular: if $ζ ∈ [M]$, $M \, β_{wh}^\ast \, \underline 0$
if $M \sim_β \underline 0$, then $M \; β_{wh}^\ast \; \underline 0$
- so weak head reduction is sufficient for computing integers (if you get a successor of “something”, you iteratively reiterate on this “something”)
if $⊢ M: A$ and $⊢ M’: A$, we want to define a notion of syntactic equivalence between $M$ and $M’$. But there’s a catch: consider
\[λx^ι. x \qquad λx^ι. if(x, \underline 0, z. \underline{suc} (z))\]They compute the identity, but $M \not \sim_β M’$. Good notion of equivalence:
\[M \sim_{obs} M' \qquad \text{ if } ∀ P, ⊢ P: A → ι\\ (P)M \; β_{wh}^\ast \; \underline 0 ⟺ (P)M' \; β_{wh}^\ast \; \underline 0\]NB: we could have replace zero by 42, or by “it terminates”, it would have led to the same notion
- $\sim_{obs}$ is an eq. relation
- \[\sim_β ⊆ \sim_{obs}\]
- \[\sim_{obs} \not ⊆ \sim_β\]
Th: if $[M] = [M’]$, then $M \sim_{obs} M’$
Proof: Assume $[M] = [M’]$. Let $P$ st
\[⊢ P: A → ι\]Assume that
\[P(M) \; β_{wh}^\ast \; \underline 0\]Then
\[[P(M)] = [\underline 0] = [ζ]\] \[[P] ∈ PoLR_!([A], [ι])\] \[[P(M)] = Fun ([P]) ([M]) = Fun ([P]) ([M']) = [(P)M'] \ni ζ\]So
\[(P)M' \; β_{wh}^\ast \; \underline 0\]and
\[M \sim_{obs} M'\]Spectrum of equivalence relations:
\[\sim_β \quad ⊆ \quad \sim_{Scott} \quad ⊆ \quad \sim_{obs}\]A model $ℳ$ of LPCF is fully abstract if $\sim_ℳ = \sim_{obs}$, where
\[M \sim_ℳ M' \text{ if } [M]^ℳ = [M']^ℳ\]$PoLR_!$ is not fully abstract
\[⊢ M: (ι → ι → ι) → ι\]Th: $PoLR_!$ is not fully abstract.
such that
\[M \sim_{obs} Ω^{(ι → ι → ι) → ι}\]where
\[Ω^A = fix \; x^A. x \; β_{wh} \; x[Ω/x] = Ω\\ [Ω^ι] = ∅\]Parallel-or taster (it tests if a program is a parallel or function):
\[M \; ≝ \; λf^{ι → ι → ι}. if ((f) \, \underline 0 \, Ω^ι, if ((f) \, Ω^ι \, \underline 0, if ((f) \, \underline 1 \, \underline 1, Ω, z. \underline 0), Ω), Ω)\]Actually
\[t ∈ PoLR_!([ι] ⇒ [ι] ⇒ [ι]) ≃ PoC([ι] \& [ι], [ι])\]then
\[[M] (t) = \lbrace ζ\rbrace \\ t (\lbrace ζ\rbrace, ∅) = \lbrace ζ\rbrace\\ t (∅, \lbrace ζ\rbrace) = \lbrace ζ\rbrace\\ t (\lbrace \overline {suc} ( \lbrace ζ \rbrace), \overline {suc} ( \lbrace ζ \rbrace)\rbrace) ≠ \lbrace ζ\rbrace, Ω\]For example (parallel or):
\[t = \lbrace (u^0, v^0, a) \; \mid \; \begin{cases} ζ ∈ u^0 \text{ or } ζ ∈ v^0 \text{ and } a = ζ\\ \overline {suc} (∅) ∈ u^0 \text{ and } \overline {suc} (∅) ∈ v^0 \text{ and } a = \overline {suc} (∅)\\ \end{cases} \rbrace\]So
\[M \not\sim_{Scott} Ω^{(ι → ι → ι) → ι}\](because it differs when applying to $t$)
So there are “aliens” in the model: parallel or doesn’t exist in the syntax, the model “believes” it does (with $t$).
To show that $M \sim_{obs} Ω^{(ι → ι → ι) → ι}$: resort to coherence space, where you can show that $[M]^{coh} = ∅$
Why $[Ω] = ∅$?
You want to prove that there exists an $a$ such that $⊢ fix \, x^A. x: a : A$.
\[\infer{⊢ fix \, x^A. x: a : A}{ \infer{x: u^0: A ⊢ x: a : A}{ ∃ a' ∈ u^0 \quad a ≤_{[A]} a'} & ∀ b ∈ u^0 ⊢ fix \, x^A. x: b : A }\]So we need to show that $⊢ fix \, x^A. x: b : A$, and so on…
Exercise 3
$a = \overline{suc}(v^0)$
\[\infer{⊢ \underbrace{fix \, x^ι. \underline{suc}(x)}_{M}: a : ι}{ \infer{x: u^0: ι ⊢ suc(x): a: ι}{ \infer{∀ c ∈ v^0 \quad x:u^0: ι ⊢ x: c}{ \overbrace{∃ d ∈ u^0 \quad c ≤_{[ι]} d}^{v^0 ≤_{![ι]} u^0} } } & ∀ b ∈ u^0 \quad ⊢ M: b: ι }\]So $v^0 ≤_{![ι]} u^0$.
\[a ∈ [M] ⟺ ⊢ M: a: ι ⟺ a = \overline{suc} (v^0) \quad ∀ c ∈ v^0, ∃ b ∈ [M], c ≤_{[ι]} b\] \[ℱ: \begin{cases} ℐ([ι]) &⟶ ℐ([ι]) \\ u &⟼ \lbrace \overline{suc}(v^0) \; \mid \; ∀ c ∈ v^0, ∃ b ∈ u, c ≤ b \rbrace \end{cases}\] \[u(0) = ∅\\ u(n+1) = ℱ(u(n))\\ [M] = \bigcup_{n=0}^∞ u(n)\]$[M]$ is the least set (as defined before) st: if $a ∈ [M]$, then \(a = \overline {suc} (v^0)\)
with
\[∀ c ∈ v^0, ∃ b ∈ [M], c ≤ b\]So $ζ \not ∈ [M]$ (it’s not a successor), but
\[\overline{suc}(∅) ∈ [M]\\ a ∈ \overline{suc}(\lbrace \overline{suc}(∅), \overline{suc}(\lbrace suc(∅) \rbrace) \rbrace)\]\[\infer{⊢ \underbrace{λx^ι. if (x, Ω^ι, z. \underline 0)}_{M}: (u^0, b): ι → ι}{ \infer{x: u^0: ι ⊢ if (x, Ω^ι, z. \underline 0): b: ι }{ \infer{x: u^0: ι ⊢ x: suc(v^0): ι}{ \infer{∃ a ∈ u^0 \quad a ≥ \overline{suc}(v^0)}{ & } } & \overbrace{x: v^0: ι ⊢ \underline 0: b : ι}^{b \, = \, ζ \text{ (no constraint on } v^0 \text{)}} } }\] \[(u^0, b) ∈ [M] ⟺ b = ζ ∧ ∃ a ∈ u^0; a = \overline{suc}(w^0) \text{ for some } w^0\]
By substituting $x$ for $\underline 0$:
\[\infer{⊢ \underbrace{λx^ι. if (x, Ω^ι, z. x)}_{M}: (u^0, b): ι → ι}{ \infer{x: u^0: ι ⊢ if (x, Ω^ι, z. x): b: ι }{ \infer{x: u^0: ι ⊢ x: suc(v^0): ι}{ \infer{∃ a ∈ u^0 \quad a ≥ \overline{suc}(v^0)}{ & } } & \infer{x: v^0: ι ⊢ x: b : ι}{ ∃ b' ∈ v^0 \quad b ≤_{[ι]} b' } } }\]So
$(u^0, b) ∈ [M]$ if $∃ a ∈ u^0; ∃ v^0;$
\[a ≥ suc(v^0)\]- $∃ b’ ∈ v^0 \quad b ≤_{[ι]} b’$
- $a = suc(w^0)$
- $w^0 ≥_{![ι]} v^0$
- so there exists $b’’ ≥ b’$ such that $b’’ ∈ w^0 ≥ v^0 \ni b’$
all this is equivalent to
\[∃ w^0; suc(w^0) ∈ u^0 \text{ and } ∃ b'' ∈ w^0; b ≤ b''\]
Leave a comment