La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

1 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 /12/2009 1G. Berry, Collège de France.

2 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 ? Quest ce quun modèle du -calcul ?

3 09/12/2009 3G. Berry, Collège de France. Les idées de base Interpréter un lambda-terme comme une fonction classique densemble dans ensemble. D. Scott : rendre les fonctions totales par un indéfini explicite; définir un ordre dinformation; requérir croissance et continuité, passer à linfini 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

4 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 ( ) (D D ) Environnement : (x ) D, i.e. Env U (V D ) x a pour a D est défini ainsi : 1. x a (x ) = a 2. x a (y ) = (y ) pour y x -variables x en normal, math-variables a en italique

5 09/12/2009 5G. Berry, Collège de France. Sémantique des termes x ( ) (x ) x. M ( ) (a) M ( x a ) pour a D M ( ) N ( ) ( M ( ) ( )) ( N ( )) M ) D i.e. M Env D

6 x. x ( )(a) x ( x a ) x. x ( )(x) ( x a ) (x ) a (x) x. x ( ) identité de D D 09/12/2009 6G. Berry, Collège de France. Exemples x. y. x ( )(a)(b) x ( x a y b ) x. x ( )(y) ( x a y b )(x ) a (x)(y) x. y. x ( ) 1 : D D D (x)(y) x. y. x ( ) première projection g. f. f.g(f(x)) ( )(u)(v)(a) g(f(x)) ( g u f v x a ) (x)(y) u(v(a))

7 Théorème : si M N 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 linformation, 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 !

8 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 tt b et ff b Constante entière n i pour tout entier n Fonctions +1 (i i), -1 (i i) et 0? (i b) Conditionnelles cond b i i i et cond b b b b Un combinateur Y ( ) pour chaque type

9 02/12/2009 9G. Berry, Collège de France, Fact (i i) Y (i i) (i i) (i i) ( f (i i). x i. cond (0? x) 1 Mult(x, f(-1 x))) PCF est Turing-complet Il peut être vu comme la base de ML / CAML

10 02/12/ G. Berry, Collège de France, Interprétation de PCF tt ( ) tt ff ( ) ff n ( ) n +1 ( ) (n) n+1 0? ( ) (n) tt si n 0 0? ( ) (n ) ff si n 0 cond b ( ) (c) (b 1 ) (b 2 ) b 1 si c tt cond i ( ) (b) (b 1 ) (b 2 ) b 2 si c ff cond i ( ) (c) (n 1 ) (n 2 ) n 1 si c tt cond i ( ) (b) (b 1 ) (b 2 ) n 2 si c ff

11 02/12/ G. 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 dinformation point fixe sémantique Y avec [[ Y ]] Y

12 09/12/ G. Berry, Collège de France. Les domaines de Scott indéfini (cf. ) ttff t f B : booléens de Scott O : espace de Sierpinski 012…n… : entiers de Scott

13 09/12/ G. Berry, Collège de France. Produit de domaines de Scott : (x,y) (x,y ) ssi x x et y y tt,,, tt tt, tt, ff tt, ff ff, ff, tt ff, ff O O B B

14 Plus on en donne, plus on en récupère ! f : croissante ssi x, y. x y f(x)f(y) 09/12/ G. Berry, Collège de France. Fonctions croissantes Fonction constante : x, y. f(x) f(y) Attention : { tt, tt tt, ff tt } : B B constante {, tt tt, ff tt } : B B stricte, pas constante !

15 09/12/ G. Berry, Collège de France. Disjonction booléenne tt,,,tt tt,tt,ff tt,ff ff, ff,tt ff,ff OuS en C: e | e tt ff tt,,,tt tt,tt,ff tt,ff ff, ff,tt ff,ff OuG en C : e || e tt,,,tt tt,tt,ff tt,ff ff, ff,tt ff,ff OuD en C: e || e tt,,,tt tt,tt,ff tt,ff ff, ff,tt ff,ff OuP

16 Fact = Y (i i) (i i) (i i) ( f (i i). x i.cond i (0? x) 1 (Mult x (f (-1 x)))) 09/12/ G. Berry, Collège de France. Limites de fonctions FACT f (i i). x i. cond i (0? x) 1 (Mult x (f (-1 x))) FACT : ( ( Fact 0 FACT( ) Fact 1 FACT(Fact 0 ) 1 2 Fact 2 FACT(Fact 1 )Fact 3 FACT(Fact 2 ) 3 6

17 cpo : tel que toute suite croissante x n a une limite (borne supérieure) U n x n 09/12/ G. Berry, Collège de France. CPO = Complete Partial Order : fonctions f croissantes et continues, i.e. telles que f (U n x n ) U n f(x n ), ordonnées par f g ssi x. f (x) g (x) Théorème : si D et D sont des cpos, alors est un cpo, avec (U n f n ) (x) U n (f n (x)) pour toute suite croissante de fonctions f n

18 09/12/ G. Berry, Collège de France. Point fixe sémantique Théorème (Knaster-Tarski) : soit un cpo, soit f : (D D) continue. Alors Y (f ) U n f n ( ) est le plus petit point fixe de f 1. f ( ) f( ) f 2 ( ) f ( ) f 2 ( ) f 3 ( )... f n ( )... U n f n ( ) f(U n f n ( )) U n f (f n ( )) U n f n+1 ( ) U n f n ( ) donc Y (f ) U n f 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 ) U n f n ( ) a CQFD

19 09/12/ G. Berry, Collège de France. Définition : pour un cpo, soit Y D : (D D) D la fonctionnelle définie par Y D (f ) U n f n ( ). Théorème : Y D est croissante et continue

20 Base douverts : x { y | y x } 09/12/ G. Berry, Collège de France. Topologie semi-séparée ouvert y x semi-séparé, ou T 0

21 02/12/ G. Berry, Collège de France, Interprétation de PCF tt ( ) tt ff ( ) ff n ( ) n +1 ( ) (n) n+1 0? ( ) (n) tt si n 0 0? ( ) (n ) ff si n 0 cond b ( ) (c) (b 1 ) (b 2 ) b 1 si b tt cond i ( ) (b) (b 1 ) (b 2 ) b 2 si b ff cond i ( ) (b) (n 1 ) (n 2 ) n 1 si b tt cond i ( ) (b) (b 1 ) (b 2 ) n 2 si b ff Y ( ) ( ) Y D

22 Programme : terme de type i clos (sans variable libre) Contexte programme C : terme clos de type i avec trou de type C M : M mis dans le trou de C, doit rester clos Exemple : C (i i) ( (i i) n) Exemple : C x i. x i (( x i. x i ) n) 09/12/ G. Berry, Collège de France. Equivalence opérationnelle M op N ssi C M * n C N * n pour tout C t.q. C M et C N sont bien typés et clos M et N sont opérationnellement équivalents ssi interchangeables dans tout contexte programme

23 Théorème : la sémantique dénotationnelle respecte léquivalence opérationnelle [[ M ]] [[ N ]] M op N 09/12/ G. 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 AddG (-1 m, n)...) AddD = Y ( m. n AddD (m, -1 n)...) Par récurrence sur m (resp. n), [[AddG]]( ) [[AddD]]( ) + Donc [[AddG]] [[AddD]], donc AddG op AddD

24 Interpréter x x : domaine D tel que D (D D) ? – Impossible avec lensemble des fonctions diagonale de Cantor : cardinal(D D) > cardinal(D) – mais possible en se restreignant aux fonctions continues ex. réels : cardinal( R c R) cardinal( R ) 02/12/ G. Berry, Collège de France, Passage au -calcul pur On utilise la continuité de Scott en construisant isomorphe à D (D D) i j i (a)(x) a j (f ) f ( ) ji (a) a ij (f) f

25 02/12/ G. Berry, Collège de France, D comme limite dune suite de cpos B D 0 D 1 (D 0 D 0 )D n+1 (D n D n ) i0i0 DnDn inin jnjn i n+1 j n+1 j0j0 D { a 0 a 1 a n a n+1 } j1j1 jnjn i n j n i n (a n ) j0j0 a 0 a 1 a n a n a n j1j1 jnjn j n+1 j0j0 j n ( a 0 a 1 a n a n+1 ) a n j1j1 jnjn j0j0

26 02/12/ G. Berry, Collège de France, D comme limite dune suite de cpos D n+1 (D n D n ) DnDn inin jnjn f : D D i n j n f n+1 j n f i n

27 Question (Plotkin) : existe-t-il un modèle complètement adéquat, i.e., tel que [[ M ]] [[ N ]] M op N ? 09/12/ G. Berry, Collège de France. Complète Adéquation Théorème 2 (Plotkin / Berry) : le modèle de Scott nest 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

28 09/12/ G. Berry, Collège de France. Disjonction booléenne tt,,,tt tt,tt,ff tt,ff ff, ff,tt ff,ff OuS tt,,,tt tt,tt,ff tt,ff ff, ff,tt ff,ff OuG tt,,,tt tt,tt,ff tt,ff ff, ff,tt ff,ff OuD tt,,,tt tt,tt,ff tt,ff ff, ff,tt ff,ff OuP

29 02/12/ G. Berry, Collège de France, Fonctions stables et ordre stable tt,,,tt tt,tt OuP OuP (tt, ) tt OuP (,tt) tt OuP (, ) x y si z. x z et y z Définition : f stable si x,y. x y f(x y) 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, ) * tt OuP(,tt) * tt OuP(, ) *

30 09/12/ G. Berry, Collège de France. Disjonction booléenne tt,,,tt tt,tt,ff tt,ff ff, ff,tt ff,ff OuS tt,,,tt tt,tt,ff tt,ff ff, ff,tt ff,ff OuG tt,,,tt tt,tt,ff tt,ff ff, ff,tt ff,ff OuD tt,,,tt tt,tt,ff tt,ff ff, ff,tt ff,ff OuP OuS OuGOuD OuSOuGOuD < <

31 Bicpos avec les bons axiomes fonctions stables point par point, stable 09/12/ G. 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

32 Kahn-Plotkin : dualités concret / KP-CPOs (C, V, E, ) : Cellules, Valeurs, Evénements, E C V 09/12/ G. Berry, Collège de France. Structures de données concrètes B tt ff C N C tt ff C1C1 C2C2 B 2 C0C0 C 00 C 01 C 011 C 010 n n n n n (1 (1 2) x. x( y. yx) (- (- 2)) x. ( y. x)

33 09/12/ G. Berry, Collège de France. Algorithmes séquentiels tt ff C1C1 C OuG : C C 1 ? tt ! tt ff C 2 ? tt ! tt ff ! ff OuS : C C 1 ? tt C 2 ? tt ! tt ff ! tt ff C 2 ? tt ! tt ff ! ff C2C2

34 09/12/ G. Berry, Collège de France. Plusieurs algorithmes par fonction tt ff C1C1 C OuS-1-2 : C C 1 ? tt C 2 ? tt ! tt ff ! tt ff C 2 ? tt ! tt ff ! ff C2C2 OuS-2-1 : C C 2 ? tt C 1 ? tt ! tt ff ! tt ff C 1 ? tt ! tt ff ! ff

35 09/12/ G. Berry, Collège de France. Algorithmes CDS { }C ! tt ! ff C 1 ? C 2 ? {C 1 tt }C ! tt ! ff C 2 ? {C 1 ff }C ! tt ! ff C 2 ? {C 1 tt,C 2 tt }C ! tt ! ff {C 1 tt,C 2 ff }C ! tt ! ff Théorème : les algorithmes entre deux CDS forment une CDS

36 Concret : objets = CDS, morphismes = algorithmes Abstrait : objets = KP-CPOs, morphismes = stratégies 09/12/ G. Berry, Collège de France. Catégories et dualité KK f s K f s Quotient par légalité des fonctions => modèle séquentiel de PCF algorithmesstablefonctions

37 Tristesse (Curien) : le modèle CDS + algorithmes (quotientés) nest pas complètement adéquat pour PCF dexceptions 09/12/ G. 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 dexceptions exception E 1, E 2 C[ ] try [ b b b ] (raise E 1 ) (raise E 2 ) with E 1 | E 2

38 La sémantique de Scott a introduit les notions fondamentales dordre dinformation, de continuité et de point fixe 09/12/ G. Berry, Collège de France. Conclusion Le résultat dexistence et dunicité 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 !

39 The next 700 Programming Languages. Peter.J. Landin Communications of the ACM, vol. 9, n o 3, pp (1966) 09/12/ G. 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


Télécharger ppt "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."

Présentations similaires


Annonces Google