Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
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 tBaseType 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) , ((et) (e t) e ; xyz (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/aaanp) (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/aaanp) ( (toute , raison), ignore) |- h1. ((z u) (v h1)): s/aa 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…
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.