39
Le -calcul : sémantiques, information et points fixes Gérard Berry C ollège de France C haire Informatique et sciences numériques C ours 3, 9 décembre 2009 09/12/2009 1 G. Berry, Collège de France.

Le - calcul : sémantiques, information et points fixes

  • Upload
    beate

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

Le  - calcul : sémantiques, information et points fixes. Gérard Berry. Collège de France Chaire Informatique et sciences numériques Cours 3, 9 décembre 2009. Questions sémantiques. - PowerPoint PPT Presentation

Citation preview

Page 1: Le   - calcul : sémantiques, information et points fixes

Le -calcul : sémantiques, information et points fixes

Gérard Berry

Collège de France

Chaire Informatique et sciences numériques

Cours 3, 9 décembre 2009

09/12/2009 1G. Berry, Collège de France.

Page 2: Le   - calcul : sémantiques, information et points fixes

• Quelles sont les fonctions calculées par un langage comme CAML ? Quel est le rapport entre syntaxe et modèle ?

09/12/2009 2G. Berry, Collège de France.

Questions sémantiques

• Quelle est la bonne théorie des fonctions partielles ?

• Que signifient la stabilité et la séquentialité en sémantique ?

• Qu’est ce qu’un modèle du -calcul ?

Page 3: Le   - calcul : sémantiques, information et points fixes

09/12/2009 3G. Berry, Collège de France.

Les idées de base

• Interpréter un lambda-terme comme une fonction classique d’ensemble dans ensemble.

• D. Scott : rendre les fonctions totales par un indéfini explicite; définir un ordre d’information; requérir croissance et continuité, passer à l’infini

• G. Berry / P-L. Curien, et. al. : comprendre la structure sémantique de ce modèle

causalité => stabilité, stratégie => séquentialité

• R. Milner : construire un modèle complètement adéquat de PCF, i.e. reflétant exactement la syntaxe

• G. Plotkin : travailler sur PCF, un « vrai » langage

Page 4: Le   - calcul : sémantiques, information et points fixes

09/12/2009 4G. Berry, Collège de France.

Domaines sémantiques

• Types de base : b booléens, i entiers

• Domaine de base : D b B {tt,ff }, D

i N {0,1,...,n...}

• Domaine fonctionnels : D () (DD)• Environnement : (x)D, i.e. Env U (VD)

xa pour aD est défini ainsi :

1. xa (x) = a

2. xa (y) = (y) pour y x

-variables x en normal, math-variables a en italique

Page 5: Le   - calcul : sémantiques, information et points fixes

09/12/2009 5G. Berry, Collège de France.

Sémantique des termes

x () (x)

x. M () (a) M (xa) pour aD

M() N () (M() ()) (N ())

M) Di.e. M Env

D

Page 6: Le   - calcul : sémantiques, information et points fixes

• x . x()(a) x (xa)• x . x()(x) (xa) (x) a• (x)x . x() identité de DD

09/12/2009 6G. Berry, Collège de France.

Exemples

• x .y . x()(a)(b) x (xayb)

• x . x ()(y) (xayb)(x) a

• (x)(y)x .y . x() 1 : DDD

• (x)(y)x .y . x() première projection• g.f. f.g(f(x))()(u)(v)(a)

• g(f(x))(gufvxa)• (x)(y) u(v(a))

Page 7: Le   - calcul : sémantiques, information et points fixes

Théorème : si MN alors M N preuve : par récurrence structurelle sur M

(i.e., par récurrence sur la taille de M)

09/12/2009 7G. Berry, Collège de France.

La réduction préserve la sémantique

Remarque : la réduction ne change pas l’information,

et même la réduit, mais elle la rend plus lisible

3+5 a valeur 8 mais est plus précis que 8

puisque 4+4 a aussi valeur 8 !

Page 8: Le   - calcul : sémantiques, information et points fixes

Partir du lambda-calcul typé, ajouter les booléens, les entiers et les fonctions de base, ajouter Y

02/12/2009 8G. Berry, Collège de France,

La langage PCF: vers la programmation

• Types de base b pour les booléens, i pour les entiers

• Constantes booléennes ttb et ff b

• Constante entière ni pour tout entier n

• Fonctions +1(ii), -1(ii) et 0? (ib)

• Conditionnelles cond biii et cond bbbb

• Un combinateur Y() pour chaque type

Page 9: Le   - calcul : sémantiques, information et points fixes

02/12/2009 9G. Berry, Collège de France,

Fact (ii) Y(ii)(ii)(i i)

(f (ii). xi. cond (0? x) 1 Mult(x, f(-1 x)))

PCF est Turing-completIl peut être vu comme la base de ML /

CAML

Page 10: Le   - calcul : sémantiques, information et points fixes

02/12/2009 10G. Berry, Collège de France,

Interprétation de PCF

tt () tt

ff () ff

n () n

+1 () (n) n+1

0? () (n) tt si n0

0? () (n ) ff si n0

condb () (c) (b1) (b2) b1 si ctt

condi () (b) (b1) (b2) b2 si cff

condi () (c) (n1) (n2) n1 si ctt

condi () (b) (b1) (b2) n2 si cff

Page 11: Le   - calcul : sémantiques, information et points fixes

02/12/2009 11G. Berry, Collège de France,

Y () () ???

• Quid des programmes qui bouclent ?

• Quid du combinateur de point fixe Y ?

D. Scott : rendre les fonctions totales ordre d’information point fixe sémantique Y avec [[ Y ]] Y

Page 12: Le   - calcul : sémantiques, information et points fixes

09/12/2009 12G. Berry, Collège de France.

Les domaines de Scott

indéfini (cf. )

tt ff tt ff

B : booléens de ScottO : espace de Sierpinski

0 1 2 … n …

: entiers de Scott

Page 13: Le   - calcul : sémantiques, information et points fixes

09/12/2009 13G. Berry, Collège de France.

Produit de domaines de Scott

<D,,> <D’,’,’> : (x,y) (x’,y’ ) ssi x x’ et y ’ y’

tt, ,

, tttt, tt

, fftt, ff

ff,

ff, tt

ff, ff

O O B B

Page 14: Le   - calcul : sémantiques, information et points fixes

• Plus on en donne, plus on en récupère !

f : <D,,> <D’,’,’> croissante

ssi x, y. x y f(x)’f(y)

09/12/2009 14G. Berry, Collège de France.

Fonctions croissantes

• Fonction constante :

x, y. f(x)f(y)

• Attention :

{tt, tttt, fftt } : B B constante

{, tttt, fftt } : B B stricte, pas constante !

Page 15: Le   - calcul : sémantiques, information et points fixes

09/12/2009 15G. Berry, Collège de France.

Disjonction booléenne

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

OuS

en C: e | e’

ff

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

OuG

en C : e || e’

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

OuD

en C: e’ || e

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

OuP

Page 16: Le   - calcul : sémantiques, information et points fixes

• Fact = Y(ii)(ii)(ii)

(f(ii).x i.condi (0? x) 1 (Mult x (f (-1 x))))

09/12/2009 16G. Berry, Collège de France.

Limites de fonctions

FACT f(ii). x i. condi (0? x) 1 (Mult x (f (-1 x)))

FACT : ( (

Fact0 FACT()

01 1 2 3 4 5 ...

Fact1 FACT(Fact0)

11 22

Fact2 FACT(Fact1) Fact3 FACT(Fact2)

36

Page 17: Le   - calcul : sémantiques, information et points fixes

• cpo : <D,,> tel que toute suite croissante xn a

une limite (borne supérieure) Unxn

09/12/2009 17G. Berry, Collège de France.

CPO = Complete Partial Order

• <(DD’ ),,> : fonctions f croissantes et continues, i.e. telles que f (Unxn) Unf(xn),

ordonnées par f g ssi x. f (x) g (x)

• Théorème : si D et D’ sont des cpos, alors

<(DD’ ),,> est un cpo, avec (Unfn) (x) Un (fn(x))

pour toute suite croissante de fonctions fn

Page 18: Le   - calcul : sémantiques, information et points fixes

09/12/2009 18G. Berry, Collège de France.

Point fixe sémantique

Théorème (Knaster-Tarski) : soit <D,,> un cpo,

soit f : (DD) continue. Alors Y(f ) Unf n() est le plus

petit point fixe de f

1. f () f() f 2()

f () f 2() f

3() ... f n() ... Unf

n()

f(Unf n()) Unf (f

n()) Unf n+1() Unf

n()

donc Y(f ) Unf n() est point fixe de f

2. Soit a point fixe de f

a f() f (a) a

n. f n () f

n(a) a Y(f ) Unf n() a

CQFD

Page 19: Le   - calcul : sémantiques, information et points fixes

09/12/2009 19G. Berry, Collège de France.

Définition : pour <D,,> un cpo, soit YD : (DD)D

la fonctionnelle définie par YD(f ) Unf n().

Théorème : YD est croissante et continue

Page 20: Le   - calcul : sémantiques, information et points fixes

• Base d’ouverts : x { y | y x }

09/12/2009 20G. Berry, Collège de France.

Topologie semi-séparée

ouvert y

x

semi-séparé, ou T0

Page 21: Le   - calcul : sémantiques, information et points fixes

02/12/2009 21G. Berry, Collège de France,

Interprétation de PCF tt () tt

ff () ff

n () n

+1 () (n) n+1

0? () (n) tt si n0

0? () (n ) ff si n0

condb () (c) (b1) (b2) b1 si btt

condi () (b) (b1) (b2) b2 si bff

condi () (b) (n1) (n2) n1 si btt

condi () (b) (b1) (b2) n2 si bff

Y () () YD

Page 22: Le   - calcul : sémantiques, information et points fixes

• Programme : terme de type i clos (sans variable libre)

• Contexte programme C : terme clos de type i avec

trou de type • CM : M mis dans le trou de C , doit rester clos

• Exemple : C(i i) ((i i) n)

• Exemple : Cxi. xi ((xi. xi) n)

09/12/2009 22G. Berry, Collège de France.

Equivalence opérationnelle

M op N ssi CM

* n CN * n

pour tout Ct.q. CM et CN sont bien typés et clos

• M et N sont opérationnellement équivalents ssi interchangeables dans tout contexte programme

Page 23: Le   - calcul : sémantiques, information et points fixes

• Théorème : la sémantique dénotationnelle respecte l’équivalence opérationnelle

[[ M ]] [[ N ]] M op N

09/12/2009 23G. Berry, Collège de France.

Adéquation de la sémantique

• Corollaire : toute preuve d’égalité sémantique est

opérationnellement valide.

• Exemple : AddG = Y (m.n. ... +1 AddG (-1 m, n)...)

AddD = Y (m.n. ... +1 AddD (m, -1 n)...)

Par récurrence sur m (resp. n), [[AddG]]() [[AddD]]() + Donc [[AddG]] [[AddD]], donc AddG op AddD

Page 24: Le   - calcul : sémantiques, information et points fixes

• Interpréter x x : domaine D tel que D (DD) ?

– Impossible avec l’ensemble des fonctions diagonale de Cantor : cardinal(DD) > cardinal(D)

– mais possible en se restreignant aux fonctions continues

ex. réels : cardinal(Rc R) cardinal(R)

02/12/2009 24G. Berry, Collège de France,

Passage au -calcul pur

• On utilise la continuité de Scott en construisant <D,,> isomorphe à <(DD ),,>

D (DD)i

j i (a)(x) aj (f ) f

()

j○i (a) ai○j (f) f

Page 25: Le   - calcul : sémantiques, information et points fixes

02/12/2009 25G. Berry, Collège de France,

D comme limite d’une suite de cpos

B D0

D1 (D0D0)

Dn+1 (DnDn)

i

0

D

ni

n

j

nin

+1

jn+1

j0D { a0 a1 an an+1 }

j1 jn

in

jn

in(an)

j0 a0 a1 an an an

j1 jn

jn+1

j0jn ( a0 a1 an an+1 ) an

j1 jn

j

0

Page 26: Le   - calcul : sémantiques, information et points fixes

02/12/2009 26G. Berry, Collège de France,

D comme limite d’une suite de cpos

Dn+1 (DnDn)

D

ni

n

j

n

f : D D

in

jn

f

n+1 jn

○ f ○ in

Page 27: Le   - calcul : sémantiques, information et points fixes

• Question (Plotkin) : existe-t-il un modèle complètement adéquat, i.e., tel que [[ M ]] [[ N ]] M op N ?

09/12/2009 27G. Berry, Collège de France.

Complète Adéquation

• Théorème 2 (Plotkin / Berry) : le modèle de Scott n’est pas complètement adéquat

• preuve : le ou parallèle OuP est continu mais pas définissable (théorème de stabilité)

• Théorème 1 (Milner) : il existe un et un seul modèle complètement adéquat de PCF, caractérisé par le fait que tous ses éléments (finis) sont définissables par des termes

Page 28: Le   - calcul : sémantiques, information et points fixes

09/12/2009 28G. Berry, Collège de France.

Disjonction booléenne

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

OuS

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

OuG

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

OuD

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

OuP

Page 29: Le   - calcul : sémantiques, information et points fixes

02/12/2009 29G. Berry, Collège de France,

Fonctions stables et ordre stable

tt, ,

,tttt,tt

OuP

OuP (tt,) ttOuP (,tt) ttOuP (, )

x y si z. x z et y

z Définition : f stable si x,y. x y f(xy) f(x)f(y)

Ordre stable : f g si f g et x,y. x y f(x)g(y) f(y)g(x)

f g : f et g ont même causalité

OuP(tt,) * ttOuP(,tt) * ttOuP(,) *

Page 30: Le   - calcul : sémantiques, information et points fixes

09/12/2009 30G. Berry, Collège de France.

Disjonction booléenne

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

OuS

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

OuG

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

OuD

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

OuP

OuS

OuG OuD

OuSOuG OuD

< <

Page 31: Le   - calcul : sémantiques, information et points fixes

• Bicpos <D,,,> avec les bons axiomes

<(DD’ ),, ,> fonctions stables

point par point, stable

09/12/2009 31G. Berry, Collège de France.

Le modèle stable

• Rejette OuP mais pas complètement adéquat, car Gus est stable mais pas définissable (théorème de séquentialité)

Gus tt ff tt

Gus ff tt tt

Gus tt ff tt

• J-Y Girard : le modèle naturel de Système F

Page 32: Le   - calcul : sémantiques, information et points fixes

• Kahn-Plotkin : dualités concret / KP-CPOs

• (C, V, E, ) : Cellules, Valeurs, Evénements, ECV

09/12/2009 32G. Berry, Collège de France.

Structures de données concrètes

B

tt ff C

N

0 1 2 ...C

tt ff tt ff C1 C2

B2

C0

C00 C01

C011C010

n

n n

n n

(1(12) x. x(y. yx)

(-(-2)) x. (y. x)

Page 33: Le   - calcul : sémantiques, information et points fixes

09/12/2009 33G. Berry, Collège de France.

Algorithmes séquentiels

tt ff tt ff C1 tt ff C

OuG : C C1 ? tt ! tt ff C2 ? tt ! tt ff ! ff

OuS : C C1 ? tt C2 ? tt ! tt ff ! tt ff C2 ? tt ! tt ff ! ff

C2

Page 34: Le   - calcul : sémantiques, information et points fixes

09/12/2009 34G. Berry, Collège de France.

Plusieurs algorithmes par fonction

tt ff tt ff C1 tt ff C

OuS-1-2 : C C1 ? tt C2 ? tt ! tt ff ! tt ff C2 ? tt ! tt ff ! ff

C2

OuS-2-1 : C C2 ? tt C1 ? tt ! tt ff ! tt ff C1 ? tt ! tt ff ! ff

Page 35: Le   - calcul : sémantiques, information et points fixes

09/12/2009 35G. Berry, Collège de France.

Algorithmes CDS

{ }C ! tt ! ff C1 ? C2 ?

{C1tt }C ! tt ! ff C2 ? {C1ff }C ! tt ! ff C2 ?

{C1tt,C2tt }C ! tt ! ff {C1tt,C2ff }C ! tt ! ff

• Théorème : les algorithmes entre deux CDS

forment une CDS

Page 36: Le   - calcul : sémantiques, information et points fixes

• Concret : objets = CDS, morphismes = algorithmes

• Abstrait : objets = KP-CPOs , morphismes = stratégies

09/12/2009 36G. Berry, Collège de France.

Catégories et dualité

K K’f

sK’’

f ’

s’

• Quotient par l’égalité des fonctions => modèle séquentiel de PCF

<K, , , >

algorithmes stable fonctions

Page 37: Le   - calcul : sémantiques, information et points fixes

• Tristesse (Curien) : le modèle CDS + algorithmes (quotientés) n’est pas complètement adéquat pour PCF d’exceptions

09/12/2009 37G. Berry, Collège de France.

Complète adéquation pour PCF+

• Théorème (Curien) : le modèle CDS + algorithmes est complètement adéquat pour PCF augmenté par des opérateurs de levée et de traitement d’exceptions

exception E1, E2

C[ ] try [ b b b ] (raise E1) (raise E2)

with E1 < gauche >

| E2 < droit >

Page 38: Le   - calcul : sémantiques, information et points fixes

• La sémantique de Scott a introduit les notions fondamentales d’ordre d’information, de continuité et de point fixe

09/12/2009 38G. Berry, Collège de France.

Conclusion

• Le résultat d’existence et d’unicité de Milner a lancé la chasse aux modèles

• Le modèle stable intègre une notion de causalité

• Le modèle des algorithmes séquentiels traite bien la séquentialité, mais ne résout pas le problème

• Mais peut-être le problème était-il mal posé :

vive les exceptions !

Page 39: Le   - calcul : sémantiques, information et points fixes

• The next 700 Programming Languages.

Peter .J. Landin Communications of the ACM, vol. 9, no 3, pp. 157-166 (1966)

09/12/2009 39G. Berry, Collège de France.

Références

• Domains and Lambda-Calculi

Roberto Amadio et Pierre-Louis Curien Cambridge University Press (1998)

• Theory and Practice of Sequential Algorithms: the Kernel of the Programming Language CDS

G. Berry et P-L. Curien Dans Algebraic Methods in Semantics, Cambridge University Press (1985) pp. 35-88.