Lambda-Calcul Sémantique de Montague

Slides:



Advertisements
Présentations similaires
Sémantique « continuationnelle » un aperçu. Quest-ce quune continuation? Exemple : –calculer (n), puis ensuite f( (n)) f est « la continuation » de la.
Advertisements

Spécification et qualité du logiciel
Céline Espenel et Nicolas Julien
CHAPITRE 2 Nombres entiers, initiation à l’arithmétique- Nombres rationnels.
Régine Laleau Centre d'Étude et de Recherche en Informatique du CNAM
Séminaire Biblio LISC - 3/04/02 Complexité, information Daprès JP Delahaye (1999)
Logique et Raisonnement Scientifique
Approches formelles en syntaxe et sémantique Alain Lecomte UMR 7023 Structures Formelles de la Langue.
Approches formelles en syntaxe et sémantique
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
We are taking the language L to be a way of computing expressions, a recursive definition of a set EXP. (i) a set of features (ii) principles for assembling.
INTRODUCTION.
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
CSI3525: Concepts des Langages de Programmation Notes # 5: Langages de Programmation Fonctionelle I: Introduction au Scheme.
Résoudre graphiquement une équation ou une inéquation simple
Conception et analyse des algorithmes
Introduction à l’Intelligence Artificielle
Logiques Mathématiques
OCaml - Les listes L3 MI.
Eléments d ’algèbre relationnelle
Graphes Conceptuels J.F. Baget Inria.
Programmation logique Logique des prédicats du premier ordre
Introduction à la conception de Bases de Données Relationnelles
Calcul Relationnel Chapitre 4, Section 4.3.
Programmation logique Démonstrateur automatique
Fonction exponentielle: enchaînement de théorèmes
Structures de données IFT-2000
Rappels de logique des prédicats du 1er ordre
CSI 4506: Introduction à l’intelligence artificielle
Diagnostic Pépite et Conceptions. Plan Profils cognitifs en algèbre Relecture possible en terme de conception – Objets de lalgèbre Étude de cas – Analyse.
Chapitre 3 Syntaxe et sémantique.
Partie II Sémantique.
Sémantique dénotationnelle
Séance d’introduction
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Calcul Relationnel Chapitre 4, Section 4.3.
Programmation logique Le Langage PROLOG
Programmation non procédurale Le projet ECOLE 2000
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
Introduction à la Logique (Logique I) 1ère Année
Jacques Nicolas INRIA /IRISA Rennes
Les logiques de descriptions
Spécification de programmes et de systèmes
Programmation fonctionnelle Lambda-calcul
La Logique du premier ordre LPO
INTRODUCTION.
Cours n°2UE102e(S. Sidhom) UE 102e. M1.IST-IE cours n°2 Systèmes à base de règles Par : Sahbi SIDHOM MCF. Université Nancy 2 Équipe de recherche SITE –
Sémantique logique 2- sémantique de Montague
Approches Formelles en Systèmes d'information
Programmation procédurale preuves D. Preuves Preuves sur les R-algorithmes. Règle de l'appel (Hoare). Exemple Preuves sur les B-algorithmes (Floyd) Automatisation.
Informatique Quantique
Arbres binaires et tables de hachage
Formalisation des Grammaires multimodales en Coq
Micro-intro aux stats.
Outils pour la programmation logique par contraintes
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Le langage Racket (Lisp)
Pour les nuls débutants
Introduction à l’algèbre Séminaires démultipliés 2013 Jour 2.
Initiation à la conception des systèmes d'informations
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
Sélection de colonnes (la projection)
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Programmation fonctionnelle Preuve
Contributions de l’ENST Bretagne à l’ACI Dispo RSM/SERES.
Conception Formelle en PVS Master 2 ISC Chef de Projet: M. Pierre Castéran Présenté par: Roland Atoui Xavier Dumas Sébastien Jardel Laurent Vendredi.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
MATHÉMATIQUES DISCRÈTES Chapitre 1 (Section 5)
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
LOGIQUE ET PROGRAMMATION LOGIQUE
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Transcription de la présentation:

Lambda-Calcul Sémantique de Montague

Plan Introduction au lambda-calcul 1- Lambda Calcul non typé 2- Lambda Calcul simplement typé 3- Propriétés du lambda-calcul Sémantique de Montague. Calcul de la sémantique en Coq (ICHARATE).

Lambda-Calcul Inventé par Church en 1930. Outil convenable pour exprimer les fonctions mathématiques Application en informatique: -LISP : basé sur le lambda-calcul non typé - ML : basé sur le lambda-calcul typé. -conception de preuves de correction de programmes etc…

Lambda-calcul non typé Définition inductive des -termes: - Toute variable de Var est un -terme. - Si t est un -terme et x une variable alors x.t est un -terme. (abstraction) - Si u et v sont deux -termes alors (u v) est aussi un -terme. (application)

Opérations de base -conversion: x.X  y.[y/x]X (à condition que le renommage préserve le caractère libre/lié de chaque variable). Exemples : x. x+1  y.y+1 x. y. x+y  y. y. y+y -réduction: (x.u y)  u[y/x] (toute variable libre de y reste ainsi après la réduction). Exemples: (x. x+1 2 ) 2+1 (x. y. x+y y)  y. y+y

Paradoxe de Russel (x. (x x) x. (x x))   (x. (x x) x. (x x)) Logique incohérente! (Plus concrètement : Si dans un village, un barbier déclare raser la barbe de tous ceux qui ne se rasent pas eux-mêmes, le barbier se rase-t-il lui même ? ) Solution : théorie des types et lambda calcul typé. Hiérarchie des types: aucune fonction ne peut s'appliquer à elle même.

-calcul simplement typé BaseType: ensemble de types de base Si tBaseType alors t Type Si t1, t2 Type alors t1 t2  Type. Définition inductive des  -termes : -Si v  Var ayant un type t Type alors v est un -terme. -Si l1 et l2 sont deux -termes de types respectifs t1  t2et t1 alors (l1 l2) est un  -terme de type t2. -Si v  Var ayant un type t1 Type et l est un  -terme de type t2 alors v.l est un terme de type t1  t2

Propriétés importantes Théorème de Church-Rosser: (confluence) u*v et u*  w l | v* l et w * l Corollaire: unicité de la forme normale Normalisation Forte: Pas de suite infinie de réductions Rq: dans le lambda-calcul non typé, la propriété de normalisation forte n’est pas vérifiée Ex: (x. y (z (z z) z (z z)))

Sémantique de Montague Principe de compositionnalité de Frege - Le sens d’une expression composée est une fonction des sens des éléments partiels qui la composent. Principe d’extensionnalité : - Substitution: u=v   [v/u]

Sémantique de Montague Types Sémantiques : SemType Deux types de base - e: type des individus - t: type des valeurs de vérités Types composés à partir de ‘*’ (produit cartésien) et ‘’ (application fonctionnelle). Fonction de mapping: Map:SyntType  SemType MapBase:Atomes  SemType Map(A/i B)=Map(B\ iA)=Map(B)  Map(A) Map(A i B) = Map(A)*Map(B) Map(jA)=Map(j A)=Map(A)

Sémantique de Montague -termes: T={(term, type)} - v  Var  t SemType; (v, t)  T. - (l1, t1  t2) T (l2,t1)T ;((l1 l2), t2)  T -  v  Var  t1 SemType ;si v est de type t1 alors  (l,t2)  T; (v.l t1  t2)  T. -  (l1,t1)  T  (l2,t2)  T; ((l1;l2), t1*t2) -  (l1,t1*t2)  T ;(1 l1, t1)  T - (l1,t1*t2)  T ;(2 l1, t2)  T -  (l1,t1)  T ;(l1,t1)  T (resp (l1, t1) (l1 , t1) (l1, t1))

Sémantique de Montague Lexique : W SynType* T Condition: w, Lex(w)=(synT, lTerm) où : lTerm=(t1, l1) avec t1=Map(synT) Exemples: Marie: (sn, (e; M)) girl: n , (e t; G) That:((n \ n)/(s / sn) , ((et) (e t) e ; xyz (y z) (x z))) Likes: ((sn \ s)/sn , (e e t ; L)

Sémantique de Montague

Exemple1 Lexique: [((1 ,a 2 ),a <3>a)]C ‘Le cœur a ses raisons que toute raison ignore’ (Blaise Pascal). Un mode de composition : a. [(1 ,a (2 ,a <3>a))]C Lexique: [((1 ,a 2 ),a <3>a)]C raison(s) que toute ignore n (n\an)/a(s/aaanp) (s/a(np\as)/an (np\as)/anp e t (e  t)(e  t ) (e  t)  e  e  t  e  t (e  t R QPx.(Q x)(P x) QP x:e I (Q x) (P x)

Hyp2:  anp|- h2:  anp toute |- z:(s/a(np\as)/an raison |- u:n ignore|-v: (np\as)/anp <Hyp2:  anp>a |-h2:np (toute , raison)|-(z u): s/a(np\as) (ignore, <Hyp2:  anp>a )|- (v h2):np\as ((toute, raison), (ignore, <Hyp2:  anp>a ))|- ((z u) (v h2)): s Hyp1: a  anp |- h1:a  anp (((toute, raison), ignore), <Hyp2:  anp>a )|-((z u) (v h2)): s (((toute, raison), ignore), Hyp1: a  anp) |- ((z u) (v   h1)): s que |-y: (n\an)/a(s/aaanp) ( (toute , raison), ignore) |- h1. ((z u) (v   h1)): s/aa  anp raisons |-x : n (que , ( (toute , raison), ignore))) |-(y h1. ((z u) (v   h1))): n\an ( raisons , (que , ( (toute , raison), ignore)))|- ((y h1. ((z u) (v   h1))) x)n

Exemple2 Money is a good servant and a bad master. Mode de composition : n Lexique: Money, servant , master : n good, bad : n/nn a: ((s/nnp)\ns)/nn : PQ: x:e (P x) (Q x) is: (np\ns)/n(s/nnp)\ns: x y(x z (y=z)) And : (X\X)/X (X= (s/nnp)\ns), P Q p: (P p) (Q p)

Exemple2(suite) Arbre dérivation composé de règle d’élimination uniquement: application. a bad master: (PQ. x:e (P x) (Q x))(B Ma)  Q . x:e ((B Ma) x) (Q x)) a good servant and a bad master: P Q p.(P p) (Q p) ( Q . x:e ((B Ma) x) (Q x)) ( Q . x:e ((G S) x) (Q x)) p. x:e ((B Ma) x) (p x)  x:e ((G S) x) (p x) Money is a good servant and a bad master : x:e. Mo=x  ((B Ma) x)  x:e. Mo=x  ((G S) x)

Logique intentionnelle Opérateurs d’intentionnalité: contraindre le principe d’extensionnalité. Exemples de constructions qui créent des contextes opaques: 1- Discours indirect: Marie a dit que Maurice aime Sophie. Maurice est l’élève le plus stupide de la classe. Marie a dit que l’élève le plus stupide de la classe aime Sophie ??! 2-Temporalité: GW Bush est le président des USA. En 1963, le président des USA a été assassiné à Dallas. En 1963, GW Bush a été assassiné à Dallas ??!

Logique intentionnelle Modalités : Neuf est nécessairement supérieur à 7. Neuf est le nombre de planètes. Le nombre de planètes est nécessairement supérieur à 7 ??!  (9 > 7) Le nombre de planètes = 9 (le nombre de planètes >7) Nouveau principe de substitution: x = y   [y/x]

Logique intentionnelle  réduction: (x. y)   [y/x] Conditions: pas de capture de variable y est intentionnellement close. Si on considère que les constantes ne sont pas intentionnellement clos: pas de propriété du diamond!! (x (y ( y= f(x)) x) c)  (y ( y= f(c)) c)  (x ( x= f(x)) c)

Formalisation en Coq Lambda termes typés avec indices de Bruijn Variables liées représentées par des entiers. Avantage : éviter les captures de variables Exemple: x y ((likes x) y)  e e  t  e  t app t app 0:e e  t likes 1:e

Formalisation en Coq Opérations de base sur le lambda-calcul - substitution d’une variable libre par un lambda-terme - abstraction d’une variable Définition récursive de l’abstraction:   e  t app e  t  t  t app 0:e e  t app e  t likes H1:e t app 0:e e  t likes H1:e 1:e

Théorèmes prouvés Deux prédicats: wellFormed et wellTyped.  , - u: A => (wellTyped u) -Attention à la définition de wellTyped: Constructeur pour l’abstraction: l, (wellTyped l) ->(hasSameType t’ 0 l)-> getType l=t -> (wellTyped ( t’ t l)). Propriétés diverses:   ress, - u: A; occurs ress  -> freeVar ress u.

Calcul de la sémantique Analyse syntaxique avec ressources. Sémantique dérivationnelle: fonction récursive qui récupére l’arbre de dérivation et calcul le lambda-terme associé (en fonction des ressources). Sémantique lexicale: substitution de chaque étiquette par sa valeur (sa sémantique donnée par le lexique) Pour l’instant : lambda-terme non réduit!

A Faire Stratégies de réduction . Théorèmes avancés: Church-Rosser etc…