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

Lambda-Calcul Sémantique de Montague

Présentations similaires


Présentation au sujet: "Lambda-Calcul Sémantique de Montague"— Transcription de la présentation:

1 Lambda-Calcul Sémantique de Montague

2 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).

3 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…

4 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)

5 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

6 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.

7 -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

8 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)))

9 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]

10 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)

11 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))

12 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)

13 Sémantique de Montague

14 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)

15 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

16 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)

17 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)

18 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 ??!

19 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]

20 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)

21 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

22 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

23 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.

24 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!

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


Télécharger ppt "Lambda-Calcul Sémantique de Montague"

Présentations similaires


Annonces Google