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

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

[number 1-100].
Qualité du Premier Billot. 2 3 Défauts reliés à labattage.
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Licence pro MPCQ : Cours
Fonctions & procédures
Introduction aux classes empiétantes François Brucker Brest (Breizh)
Calcul géométrique avec des données incertaines
Calculs de complexité d'algorithmes
Programme de seconde 2009 Géométrie
Les numéros
ACTIVITES Les fractions (10).
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Sud Ouest Est Nord Individuel 36 joueurs
Les identités remarquables
1 Intégration numérique garantie de systèmes décrits par des équations différentielles non-linéaires Application à l'estimation garantie d'état et de paramètres.
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
ETALONNAGE D’UN CAPTEUR
2 1. Vos droits en tant quusagers 3 1. Vos droits en tant quusagers (suite) 4.
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES COHESION CULTURELLE ET EXPANSION DES IDEES SUR LE TERRITOIRE EUROPEEN.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Etienne Bertaud du Chazaud
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Pourquoi les réseaux de neurones de type « perceptron multicouche » conviennent-ils à l’apprentissage Stéphane Canu, INSA de Rouen , PSI André Elisseeff,
1.2 COMPOSANTES DES VECTEURS
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
Titre : Implémentation des éléments finis sous Matlab
Le lambda-calcul : réductions, causalité et déterminisme
Académie de Créteil - B.C Quest-ce quune Inscription 1)1 action + 1 stagiaire + 1 client 2)Parcours individuel (avec son Prix de Vente) 3)Un financement.
LES NOMBRES PREMIERS ET COMPOSÉS
VOC 1 CE2 Je sais utiliser des mots de la vie quotidienne.
La Saint-Valentin Par Matt Maxwell.
1 INETOP
Calculs et écritures fractionnaires
RACINES CARREES Définition Développer avec la distributivité Produit 1
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Appliquer la métthode Branch and Bound au problème de lassignation des tâches avec la matrice suivante: 1234 a11 88 b c33415 d Calcul de.
Les modèles linéaires (Generalized Linear Models, GLM)
1.1 LES VECTEURS GÉOMÉTRIQUES
Tournoi de Flyball Bouin-Plumoison 2008 Tournoi de Flyball
Notre calendrier français MARS 2014
2. Théorie de la consommation (demande)
Sémantique dénotationnelle
C'est pour bientôt.....
Charte graphique Réunion de lancement Novembre 2008 Novembre 2008
Veuillez trouver ci-joint
Résoudre une équation du 1er degré à une inconnue
2.2 PRODUIT SCALAIRE ET CALCUL D’ANGLES
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
ASI 3 Méthodes numériques pour l’ingénieur
Pour en finir avec l’infini
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Equation différentielle
Equation différentielle de 2ème ordre
CALENDRIER-PLAYBOY 2020.
LES PILES ET FILES.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Suites numériques Définitions.
Programmation fonctionnelle Lambda-calcul
Les Chiffres Prêts?
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Chapitre 3 :Algèbre de Boole
Transcription de la présentation:

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

Questions sémantiques Qu’est ce qu’un modèle du -calcul ? Quelle est la bonne théorie des fonctions partielles ? Quelles sont les fonctions calculées par un langage comme CAML ? Quel est le rapport entre syntaxe et modèle ? Que signifient la stabilité et la séquentialité en sémantique ? G. Berry, Collège de France. 09/12/2009

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. Plotkin : travailler sur PCF, un « vrai » langage R. Milner : construire un modèle complètement adéquat de PCF, i.e. reflétant exactement la syntaxe G. Berry / P-L. Curien, et. al. : comprendre la structure sémantique de ce modèle causalité => stabilité, stratégie => séquentialité G. Berry, Collège de France. 09/12/2009

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

Sémantique des termes [[M]] ()  D i.e. [M]]  Env D [ x ]] ()  (x) [x. M ]] () (a)  [M ]]([xa]) pour aD [ M() N ]] ()  ([M()]] ()) ([N]] ()) G. Berry, Collège de France. 09/12/2009

Exemples [x . x]] ()(a)  [x]] ([xa]) [x . x]] ()(x)  ([xa]) (x)  a (x)[x . x]] ()  identité de DD [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)) G. Berry, Collège de France. 09/12/2009

La réduction préserve la sémantique 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) 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 ! G. Berry, Collège de France. 09/12/2009

La langage PCF: vers la programmation Partir du lambda-calcul typé, ajouter les booléens, les entiers et les fonctions de base, ajouter Y 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(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  G. Berry, Collège de France, 02/12/2009

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

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 [ condb ]] () (c) (b1) (b2)  b1 si ctt [ condi ]] () (b) (b1) (b2)  b2 si cff [ condi ]] () (c) (n1) (n2)  n1 si ctt [ condi ]] () (b) (b1) (b2)  n2 si cff G. Berry, Collège de France, 02/12/2009

Quid des programmes qui bouclent ? Quid du combinateur de point fixe Y ? [ Y () ]] ()  ??? D. Scott : rendre les fonctions totales ordre d’information point fixe sémantique Y avec [[ Y ]] = Y G. Berry, Collège de France, 02/12/2009

Les domaines de Scott B : booléens de Scott   tt ff  tt  ff    indéfini (cf. ) O : espace de Sierpinski  1 2 … n  : entiers de Scott G. Berry, Collège de France. 09/12/2009

Produit de domaines de Scott <D,,>  <D’,’,’> : (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 G. Berry, Collège de France. 09/12/2009

Fonctions croissantes Plus on en donne, plus on en récupère ! f : <D,,>  <D’,’,’> croissante ssi x, y. x y  f(x)’f(y) 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 ! G. Berry, Collège de France. 09/12/2009

Disjonction booléenne tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff OuP 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 OuS en C: e | e’  tt  ff G. Berry, Collège de France. 09/12/2009

Limites de fonctions Fact = Y(ii)(ii)(ii) (f(ii).x i.condi (0? x) 1 (Mult x (f (-1 x)))) FACT  [[ f(ii). x i. condi (0? x) 1 (Mult x (f (-1 x))) ]] () FACT : (   )(  ) Fact0  FACT() Fact1  FACT(Fact0) Fact2  FACT(Fact1) Fact3  FACT(Fact2) 01 1 11 22 2 3 36 4 5 ...  G. Berry, Collège de France. 09/12/2009

CPO = Complete Partial Order cpo : <D,,> tel que toute suite croissante xn a une limite (borne supérieure) Unxn <(DD’ ),,> : 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 <(DD’ ),,> est un cpo, avec (Unfn) (x)  Un (fn(x)) pour toute suite croissante de fonctions fn G. Berry, Collège de France. 09/12/2009

Point fixe sémantique Théorème (Knaster-Tarski) : soit <D,,> un cpo, soit f : (DD) 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 Soit a point fixe de f   a  f()  f (a)  a n. f n ()  f n(a)  a  Y(f )  Unf n()  a CQFD G. Berry, Collège de France. 09/12/2009

Définition : pour <D,,> un cpo, soit YD : (DD)D la fonctionnelle définie par YD(f )  Unf n(). Théorème : YD est croissante et continue G. Berry, Collège de France. 09/12/2009

Topologie semi-séparée Base d’ouverts : x  { y | y  x } ouvert y x  semi-séparé, ou T0 G. Berry, Collège de France. 09/12/2009

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 [ condb ]] () (c) (b1) (b2)  b1 si btt [ condi ]] () (b) (b1) (b2)  b2 si bff [ condi ]] () (b) (n1) (n2)  n1 si btt [ condi ]] () (b) (b1) (b2)  n2 si bff [ Y () ]] ()  YD G. Berry, Collège de France, 02/12/2009

Equivalence opérationnelle 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[xi. xi]  ((xi. xi) n) M et N sont opérationnellement équivalents ssi interchangeables dans tout contexte programme 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 G. Berry, Collège de France. 09/12/2009

Adéquation de la sémantique Théorème : la sémantique dénotationnelle respecte l’équivalence opérationnelle [[ M ]]  [[ N ]]  M op N 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 G. Berry, Collège de France. 09/12/2009

Passage au -calcul pur Interpréter x x : domaine D tel que D  (DD) ? Impossible avec l’ensemble 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) On utilise la continuité de Scott en construisant <D,,> isomorphe à <(DD ),,> D (DD) i j i (a)(x)  a j (f )  f () j○i (a)  a i○j (f)  f G. Berry, Collège de France, 02/12/2009

D comme limite d’une suite de cpos j0 D  { a0 a1 an an+1 } j1 jn  jn in j0 jn jn+1 B  D0 D1  (D0D0) Dn Dn+1  (DnDn)   i0 in in+1 in(an)  j0 a0 a1 an an an j1 jn  jn+1 j0 jn ( a0 a1 an an+1 )  an j1 jn  G. Berry, Collège de France, 02/12/2009

D comme limite d’une suite de cpos f  : D D in jn jn Dn Dn+1  (DnDn) in f n+1  jn ○ f  ○ in G. Berry, Collège de France, 02/12/2009

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

Disjonction booléenne tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff OuP 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 OuS G. Berry, Collège de France. 09/12/2009

Fonctions stables et ordre stable OuP (tt,)  tt OuP (,tt)  tt OuP (, )   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é G. Berry, Collège de France, 02/12/2009

Disjonction booléenne tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff OuP 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 OuS OuS OuG OuD   < OuS OuG OuD    G. Berry, Collège de France. 09/12/2009

Le modèle stable Bicpos <D,,,> avec les bons axiomes <(DD’ ),,  ,> fonctions stables  point par point,  stable J-Y Girard : le modèle naturel de Système F 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 G. Berry, Collège de France. 09/12/2009

Structures de données concrètes Kahn-Plotkin : dualités concret / KP-CPOs (C, V, E, ) : Cellules, Valeurs, Evénements, ECV  B tt ff C C0 C00 C01 C011 C010 n   N 0 1 2 ... C tt ff C1 C2 B2 (1(12)  x. x(y. yx) (-(-2))  x. (y.  x) G. Berry, Collège de France. 09/12/2009

Algorithmes séquentiels C1 tt ff C2 tt ff C tt ff OuS : C  C1 ? tt  C2 ? tt  ! tt ff  ! tt ff  C2 ? ff  ! ff OuG : C  C1 ? tt  ! tt ff  C2 ? ff  ! ff G. Berry, Collège de France. 09/12/2009

Plusieurs algorithmes par fonction tt ff C2 tt ff C tt ff  OuS-1-2 : C  C1 ? tt  C2 ? tt  ! tt ff  ! tt ff  C2 ? ff  ! ff OuS-2-1 : C  C2 ? tt  C1 ? tt  ! tt ff  ! tt ff  C1 ? ff  ! ff G. Berry, Collège de France. 09/12/2009

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

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

Complète adéquation pour PCF+ Tristesse (Curien) : le modèle CDS + algorithmes (quotientés) n’est pas complètement adéquat pour PCF d’exceptions 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 > G. Berry, Collège de France. 09/12/2009

Conclusion La sémantique de Scott a introduit les notions fondamentales d’ordre d’information, de continuité et de point fixe 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 ! G. Berry, Collège de France. 09/12/2009

Références The next 700 Programming Languages. Peter .J. Landin Communications of the ACM, vol. 9, no 3, pp. 157-166 (1966) 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. G. Berry, Collège de France. 09/12/2009