De la charact´ erisation des mod` eles de H*
Flavien BREUVART
PPS, Paris Denis Diderot; LIPN, Paris Nord
2014
Adéquation complète
Ad´equation compl`ete
C’est l’identit´eentre la congruence d´enotationnelleet la congruence contextuelle:
[[M]] = [[N]]⇔ M ≡o N
Congruence d´enotationnelle [[M]] = [[N]]
Congruence induite parle mod`ele d´enotationnelle: c’est l’´egalit´e dans le mod`ele.
Congruence op´erationnelle M ≡o N
Congruence induite par le langage :
∀C,O(C(|M|)) =O(C(|N|))
Divers résultats d’adéquation complète
[Abramskyet.al.2000]
[Abramsky et McCusker 2007]
[Abramskyet. al.1998]
[Hyland et Ong 2000]
[Wadsworth 1976]
[Hyland 1976]
[Plotkin 1977]
[Laird 1997]
[Laird 2003] [Paolini 2003]
[Cartwrightet.al.1994]
[Milner 1977]
[Harmer et McCusker 1997]
[Bucciarelliet.al.2011]
Caractérisation de l’adéquation complète
Th´eor`eme de Milner pour PCF [Milner 1977] : Il y a un unique domaine continu extentionnel et pleinement ad´equat pour PCF.
Cette caract´erisation est d´eg´en´er´ee puisqu’elle d´emontre un r´esultat d’unicit´e.
Qu’en est-il du λ-calcul ? (en appel de tˆete) Il existe de nombreux mod`eles non isomorphiques de Λ ! [Gouy 1995]
mod`eles bien stratifi´es [Manzonetto 2009]
Tout mod`ele bien stratifi´e est pleinement ad´equat pour Λ
Plan : 1
erepartie (présentation)
Les mod`eles choisis : Les K-mod`eles
• Principale sous-classe des syst`emes de types avec intersection.
• ContientD∞,P∞,D∞∗ ...
• Contient les mod`eles stratifi´es(parmi les syst`emes de types avec intersection).
• Correspond aux ´el´ements r´eflexifs de ScottL! [Ehrhard ....].
R´esultat(moralement) :
Un K-mod`ele est pleinement ad´equat pour Λ ssi il est hyperimune.
C`ad si les comportements mal fond´e ne sont pas captur´es par aucun terme r´ecursif.
Plan : 2
iemepartie (preuve)
Le λ calcul avec tests Λτ(D)
• G´en´eralisation de [Bucciarelli&Al2011]
• Index´e par un K-modelD : langage interne de D
• Ajout de K(D) dans la syntaxe ⇒ PA deD pour Λτ(D) La pleine ad´equation
implique l’hyperimmunit´e
∀D non hyperimmune,
∃Jf≡oI,[[Jf]]6=[[I]]
• Jf η∞-´etendI
• [[Jf]]6=[[I]] obtenu via Λτ(D)
∃C ∈Λ(|.|) ,C(|J |)6≡ C(|I|)
L’hyperimmunit´e implique la pleine ad´equation
∀D hyperimmune, ∀M,N [[Jf]]6=[[I]]⇒M 6≡o N Induction sur la r´eduction d’un terme de Λτ(D)
Plan
Les mod`els choisis : Les K-mod`eles
• Models de Λ • K- mod`eles • ScottL! • Examples R´esultat
• Le r´esultat • Intuition • Exemples
Le λ calcul avec tests Λτ(D)
• Id´ee • S´ementique op´erationelle • Strat´egie La pleine ad´equation
implique l’hyperimmunit´e
L’hyperimmunit´e implique la pleine ad´equation
Le λ -calcul pure
mod`ele duλ-calcul
Un mod`ele duλ-calcul est un objet d’une cat´egorie cart´esienne close respectant :
D⇒D D
abs
D⇒D app
Et tel queapp◦abs=idM
Extensionalit´e
Tout mod`ele pleinement ad´equat de Λ est extensionel (c.`a.d respecte l’eta ´equivalence) :
Définition de la catégorie S
COTTL
!Un mod`ele de la logique lin´eaire :ScottL
Objets :Posets Morphisms : fct.lin´eaires deI(D) vers I(P) Exponential :Antichaˆınes finies !D =Af(D)
I(D) represente le treillit complet des segments initiaux sur D une fonction est dite lin´eaire si elle pr´eserve tous les sups
La co-categorie de Kleisli :ScottL!
Objects :Posets Morphisms : fct.continuesdeI(D) versI(P) Identities :1D =idI(D)
Composition : la composition de fonction Cartesian product : ˘
i∈IDi :={(i, α)|i ∈I, α∈AD} Exponential object :A⇒B =Af(A)op×B
Définition de K-modèles
K-mod`ele :
Un K-mod`ele extentionnelle est un pr´eordre (D,≤) munie d’une bijection→:Af(D)×D →D telle que :
• Af(D) est muni de l’ordre v,d´efini par : avb⇔ ∀α∈a,∃β ∈b, α≤β
• (a→alpha)≤(b→β) ⇔ awb ∧ α≤β Equivalent aux pr´esentation avec Pf(D) ou Mf(D)
Elements r´eflexifs
Les K-mod`eles sont exactement les objets r´eflexifes de la cat´egorie ScottL!.
Exemples ( D
∞)
Scott’s D∞ :
D0={∗}
Dn+1=Dn∪(Af(Dn)×Dn)− {(∅,∗)}
D∞=[
n
Dn
(a, α) =a→α sia6=∅ orα 6=∗
∗ =∅ → ∗
D∞ est pleinement ad´equat pour le λ-calcul. [Hy76, Wad76]
Exemples ( D
∞)
Scott’s D∞ :
D0={∗}
Dn+1=Dn∪(Af(Dn)×Dn)− {(∅,∗)}
D∞=[
n
Dn
(a, α) =a→α sia6=∅ orα6=∗
∗ =∅ → ∗
D∞ est pleinement ad´equat pour le λ-calcul. [Hy76, Wad76]
Exemples ( D
∞)
Scott’s D∞ :
D0={∗}
Dn+1=Dn∪(Af(Dn)×Dn)−{(∅,∗)}
D∞=[
n
Dn
(a, α) =a→α sia6=∅ orα6=∗
∗=∅ → ∗
D∞ est pleinement ad´equat pour le λ-calcul. [Hy76, Wad76]
Exemples ( D
∞)
Scott’s D∞ :
D0={∗}
Dn+1=Dn∪(Af(Dn)×Dn)− {(∅,∗)}
D∞=[
n
Dn
(a, α) =a→α sia6=∅ orα6=∗
∗=∅ → ∗
D∞ est pleinement ad´equat pour le λ-calcul. [Hy76, Wad76]
Exemples ( D
∞)
Scott’s D∞ :
D0={∗}
Dn+1=Dn∪(Af(Dn)×Dn)− {(∅,∗)}
D∞=[
n
Dn
(a, α) =a→α sia6=∅ orα6=∗
∗=∅ → ∗
D∞ est pleinement ad´equat pour le λ-calcul.
[Hy76, Wad76]
Exemples (bien stratifiés)
K-mod`eles bien stratifi´es :
SoitAun ensemble non vide et σ une permutation de A: U0A,σ=A
Un+1A,σ =Dn∪(Af(UnA,σ)×UnA,σ)− {(∅, µ)|µ∈A}
U∞A,σ=[
n
UnA,σ
(a, α) =a→α si a6=∅ orα6∈A∗
σ(µ)=∅ →µ pour µ∈A
Les U∞A,σ sont pleinement ad´equat pour le λ-calcul.
Exemples ( P
∞)
Park’s P∞ :
P0={∗}
Pn+1=Pn∪(Af(Pn)×Pn)− {{∗},∗}
P∞=[
n
Pn
(a, α) =a→α sia6={∗}or α6=∗
∗={∗} → ∗
P∞ n’est pas pleinement ad´equat pour le λ-calcul.
[Park76]
Exemple ( D
∞∗)
Coppo,Dezani,Zacchi’s D∞∗ (or Norm) :
D0∗={p,q}
Dn+1∗ =Nn∪(Af(Nn)×Nn− {({p},q),({q},p)}
D∞∗ =[
n
Dn∗
(a, α) =a→α si (a, α)∈D∞∗ q ={p} →q
p ={q} →p
D∞∗ n’est pas pleinement ad´equat pour le λ-calcul.
Exemple ( ω )
Ordinal’s completionω :
E0=N
En+1=En∪(Af(En)×En)− {({k |k<n},n)|n}
E⊥>=[
n
En
(a, α) =a→α si (a, α)∈E⊥>
n ={k |k<n} →n
ω est pleinement ad´equat pour le λ-calcul.
Exemple ( Z )
Relational completion Z:
E0=Z
En+1=En∪(Af(En)×En)− {({n+1},n)|n}
E⊥>=[
n
En
(a, α) =a→α si (a, α)∈E⊥>
n ={n+1} →n
Z n’est pas pleinement ad´equat pour le λ-calcul.
Exemple ( H
f)
Hf : Soitf :N→N:
H0f ={∗} ∪ {αnj |n≥0, 1≤j ≤f(n)}
Hn+1f =Hnf ∪(Af(Hnf)×Hnf)− {(∅, αnj)|j 6=f(n)}∪{({αn+11 },∗)}
Hf =[
n
Hn
(a, α) =a→α si (a, α)∈Hf αnj =∅ →αjn+1 1≤j <f(n) αnf(n) ={αn+11 } → ∗
l’ad´equation compl`ete pour le λ-calcul de U∞f d´epend des propri´et´es de calculabilit´e de f.
Exemple ( H
f)
Hf : Soitf :N→N:
H0f ={∗} ∪ {αnj |n≥0, 1≤j ≤f(n)}
Hn+1f =Hnf ∪(Af(Hnf)×Hnf)− {(∅, αnj)|j 6=f(n)}∪{({αn+11 },∗)}
Hf =[
n
Hn
(a, α) =a→α si (a, α)∈Hf
αn1 = ¯∅f(n)−1→ {αn+11 } → ∗
l’ad´equation compl`ete pour le λ-calcul de U∞f d´epend des
Plan
Les mod`els choisis : Les K-mod`eles
• Models de Λ • K- mod`eles • ScottL! • Examples R´esultat
• Le r´esultat • Intuition • Exemples
Le λ calcul avec tests Λτ(D)
• Id´ee • S´ementique op´erationelle • Strat´egie La pleine ad´equation
implique l’hyperimmunit´e
L’hyperimmunit´e implique la pleine ad´equation
Le résultat
Mod`ele hyperimmune
Un K-mod`eleD est hyperimmunelorsque pour toute s´equence (αn)n≥0 ∈DN,il n’existe pasde fonctionr´ecursiveg :N→N satisfaisant pour toutn :
αn=an,1→ · · · →an,g(n)→α0n and αn+1∈ [
k≤g(n)
an,k.
Th´eor`eme Principal (Caract´erisation) :
Un K-mod`ele extensionel qui commute avec les arbres de B¨ohmest pleinement ad´equatssi il est hyperimmune.
Th´eor`eme secondaire
Un K-mod`ele extensionel qui commute avec les arbres de B¨ohmest
Que se passe-t-il ?
α1 =a1,1→ · · ·a1,i1· · · →a1,g(1) →α01
∈
α2=a2,1 → · · ·a2,i2· · · →a2,g(2)→α02
∈
α3=a3,1 → · · ·a3,i3· · · →a3,g(3)→α30 . ..
IsD hyperimmune ?
Ifg is computable, then theD is not hyperimmune (even if (in)n may not be computable).
Exemples (bien stratifiés)
La compl´etion pr´es`erve l’hyperimmunit´e Un compl´et´e ¯E est hyperimmune ssiE l’est.
K-mod`eles bien stratifi´es :
SoitAun ensemble non vide et σ une permutation de A: U0A,σ=A ∀α∈A, α=∅ →σ(α)
Les mod`eles stratifi´es (et donc D∞) sont hyperimmune : pour toutα1 ∈Aet toutg,
α1 =∅→ · · · →∅→σn(α1)
Exemple (Norm)
Norm :
N0 ={p,q} q ={p} →q p ={q} →p
Norm is not hyperimmune g = (n 7→1)
(αn)n= (p,q,p,q, ...)
p ={q} →p
∈
q ={p} →q
∈
p={q} →p . ..
Exemple ( ω )
ω :
E0=N n ={i |i <n} →n)
ω hyperimmune n0 = [[0,n0[[→ · · ·[[0,n0[[· · · →n0
∈ (n1<n0)
n1 = [[0,n1[[→ · · ·[[0,n1[[· · · →n1
∈ (n2<n1) . ..
0=∅ · · · ∅ · · · ∅ →0 Imposible
Exemple ( Z )
Z :
E0=Z n ={n+1} →n
Norm is not hyperimmune g = (n 7→1)
(αn)n= (0,1,2, ...)
0={1} →0
∈
1={2} →1
∈
2={3} →2 . ..
Exemple ( H
f)
Hf :
H0f ={∗} ∪ {αnj |1≤j ≤f(n)} αn1 = (¯∅f(n)−1→ {αn+11 } → ∗)
Hf est hyperimmune ssi f est hyperimmune α01 =∅ → · · · ∅ →{α11} → ∅ · · · → ∗
∈
α11=∅ → · · · ∅ →{α21} → ∅ · · · → ∗
∈
α21 =∅ → · · · ∅ →{α31} → ∗
Plan
Les mod`els choisis : Les K-mod`eles
• Models de Λ • K- mod`eles • ScottL! • Examples R´esultat
• Le r´esultat • Intuition • Exemples
Le λ calcul avec tests Λτ(D)
• Id´ee • S´ementique op´erationelle • Strat´egie La pleine ad´equation
implique l’hyperimmunit´e
L’hyperimmunit´e implique la pleine ad´equation
Le λ -calcul avec D-tests : principe
Λτ(D) : une extension duλ-calcul SoitD (qui commute avec les arbres de B¨ohm), Λτ(D)´etend Λ et v´erifie :
• Λτ(D) est confluent,
• D est pleinement ad´equat pour Λτ(D).
Int´eret
• Contexts explorant inductivement l’arbre de B¨ohm
• Discrimination des comportements infinis non d´ecidable !
Syntaxe de Λ
τ(D)Grammaire (termes) M,N : := P
iτ¯αi(Qi) | x | λx.M | M N (tests) P,Q : := τα(M) | P
iPi | Q
iPi
o`u les α sont des points deD.
On d´enote 0 la somme vide et le produit vide
Intuitions Q∈Λoτ(D) est une r´eusite ⇓ou un ´echec⇑
τα(M)⇓ ⇔α∈[[M]] [[¯τα(⇓)]] =↓α [[¯τα(⇑)]] =∅
Exemples
¯
τ∅→α(Q) M →τ¯α(Q) τ∗→∗(λx.x)→τ∗(¯τ∗())→
Somme, produit, et convergence
May/must non-d´eterminisme ΣiQi⇓iff ∃i,Qi⇓ ΠiQi⇓iff ∀i,Qi⇓
M⇓iff (M→hN ⇒N⇓) τα(M)⇓iff (τα(M)→hQ ⇒Q⇓)
Exemples
τα(x)+Q⇓ τα(Ω)·Q⇑
τα(¯τα())⇓ τp=((p→q)→p)(Θ(λuxy.x (u y)))⇑
Int´eret 2 causes de divergence :
• τα(M) diverge effectivement : • τα(M)→∗0·Q, i.e. erreur :
Plan
Les mod`els choisis : Les K-mod`eles
• Models de Λ • K- mod`eles • ScottL! • Examples R´esultat
• Le r´esultat • Intuition • Exemples
Le λ calcul avec tests Λτ(D)
• Id´ee • S´ementique op´erationelle • Strat´egie La pleine ad´equation
implique l’hyperimmunit´e
L’hyperimmunit´e implique la pleine ad´equation
Non hyperimmunité implique non pleine adéquation
SiD n’est pas hyperimmune alors il existeg recursive et (αn)ntel que αn=an,1→ · · · →an,g(n)→α0n and αn+1∈ [
k≤g(n)
an,k.
Contre exemple Jg On peut alors construireJg tel que :
τα0→α0(Jg) diverge Jg ≡o I
Cas H
fpour f récursive
Gf U n →∗ λex1...xf(n).e x1· · ·xf(n)−1 (U n+1 xf(n)) Un telGf existe bien car la suite
(λuex1...xf(n).e (u x1 n+ 1)· · ·(u xn n+ 1))n
est une suite calculable de termes clos.
Jnf = Θ Gf n
Jnf z →∗ λx1xf(n).z x1· · ·xf(n)−1 (Jfn+1 xf(n))
Réduction
· · ·
αn∈[[v]]`αn∈[[Jfn v]]
· · ·
α2 ∈[[v]]`α2 ∈[[Jf2 v]]
· · ·
α1 ∈[[v]]`α1 ∈[[Jf1 v]] ∗ ∈[[u00]]` ∗ ∈[[u00]]
{α1} → ∗ ∈[[u0]], α1∈[[v]]` ∗ ∈[[u0 (Jf1 v)]]
α0 ∈[[u]], α1 ∈[[v]]` ∗ ∈[[u x1· · ·xf(n)−1 (Jf1 v)]]
α0∈[[u]]` {α1} → ∗ ∈[[λxf(0).u x1· · ·xf(n)−1 (Jf1 xf(0))]]
α0∈[[u]]`α0∈[[λx1...xf(0).u x1· · ·xf(n)−1 (Jf1 xf(0))]]
α0∈[[u]]`α0 ∈[[J0g u]]
`α0 →α0 ∈[[J0g]]
Réduction de τ
α0→α0(J
0g)
τα0→α0(J0g)
→ τα0(J0g ¯α0)
→∗ τα0(λx1...xf(0).¯α0 x1· · ·xf(n)−1 (Jf1 xf(0)))
→∗ τ∗(¯α0 0· · ·0 (Jf1 ¯α1))
→∗ τ∗(¯τ∗(τα1(Jf1 ¯α1)))
→ τα1(Jf1 ¯α1)
→∗ τα2(Jf2 ¯α2)
· · · ·
→∗ ταn(Jfn ¯αn)
· · · ·
Plan
Les mod`els choisis : Les K-mod`eles
• Models de Λ • K- mod`eles • ScottL! • Examples R´esultat
• Le r´esultat • Intuition • Exemples
Le λ calcul avec tests Λτ(D)
• Id´ee • S´ementique op´erationelle • Strat´egie La pleine ad´equation
implique l’hyperimmunit´e
L’hyperimmunit´e implique la pleine ad´equation
Correction
Pleine adequation de Λτ(D)
L’interpretation d’un terme closM peut ˆetre d´ecrite via convergence dans un contexte avec tests :
α∈[[M]] ⇔ τα(M)⇓
G´en´eralisable aux termes non clos
La correction : un th´eor`eme maintenant syntaxique SiD est hyperimmune :
α∈[[M]]−[[N]] ⇒ M6voN
Par induction sur la longueur de r´eduction de τα(M).
Hypothèse d’hyperimmunicité
Lemme cl´e Si ({α} →α)6∈[[M]] alors :
• soit I6vo M
• soit il existe ((αi)i,f) qui contredit l’hyperimmunit´e.
Cr´eation de ((αi)i,f) par co-induction le long deτ{α}→α(M).
Conclusion et intérogations
Th´eor`eme final
Pour tout K-mod`ele D extentionel qui commute avec les arbres de B¨ohm, ces propositions sont ´equivalentes :
• D est hyperimmune,
• D est inequationellement pleinement ad´equat pour Λ,
• D pleinement ad´equat pour Λ.
Interpretation ?
• La classe de mod`eles est mal choisie ? Probablement pas [Ehrhard 2012]
• Le lambda calcul pur est un “mauvais” langage ?
• Une cons´equence de l’expressivit´e de la classe de mod`eles ? Il y aurait 2ω th´eories entre H et H∗...