Document

publicité
Sémantique logique
2- sémantique de Montague
Licence MIASS
A. Lecomte
2006
1- le -calcul
• Toute constante et toute variable sont des
-termes,
• Si M et N sont des -termes, alors (M N)
est un -terme
• Si M est un -terme et si x est une
variable, alors x. M est un -terme
-réduction
• redex : un terme de la forme (x. u) v
• -réduction (élimination des redex) :
– (x. u) v  u[x := v]
– exemple : (x. xy) a  ay
• Un terme  est dit normal si plus aucune
réduction ne peut lui être appliquée
• Un -terme  est normalisable s’il existe un
terme normal  tel que  * 
• Un -terme  est fortement normalisable si
toutes les réductions à partir de  sont finies
Exemples de -termes non
normalisables
• (x.(x x) x.(x x))  (x.(x x) x.(x x))
• (x.((x x) x) x.((x x) x))
 ((x.((x x) x) x.((x x) x)) x.((x x) x))
 etc.
Les entiers de Church
• n = λfx.f(f(...(f x)...)) = λfx.fnx avec n f.
• Par exemple 0 = λfx.x, 3 = λfx.f(f(f x))
• Fonction « successeur »:
– nfx. (f ((n f) x))
– vérifier:
• (nfx. (f ((n f) x)) 3)  4
-calcul typé
• Toute constante et toute variable de type a sont
des -termes de type a
• Si M est un -terme de type <a, b> et N un terme de type a, alors (M N) est un -terme de
type b
• Si M est un -terme de type b et si x est une
variable de type a, alors x. M est un -terme de
type <a, b>
• Permet que tous les -termes soient fortement
normalisables
2- Traduire les catégories
syntaxiques en types
sémantiques
a – les types sémantiques
Traduction : les types sémantiques
• En sémantique deux types de base : e et t
• (entity, truth-value)
• L’ensemble de tous les types est défini
par:
– (i) e et t sont des types
– (ii) si a et b sont des types, alors <a,b> est un
type
– (iii) rien n’est un type hormis par (i) et (ii)
Types et prédicats
• Les constantes et les variables sont de
type e
• Les lettres de prédicats
– à une place : de type <e, t>
– à deux places : de type <e, <e, t>>
– à n places : de type <e, <…, e, <e, t> …>>
• Les formules sont de type t
exercice!
• Déterminer les types de:
– Connecteur 
– Connecteurs , , 
– Quantificateurs , 
• Démontrer que la formule suivante est
correctement formée (ie.est bien de type t)
x( H ( x)  M ( x))
b – les objets sémantiques
Correspondance
catégories syntaxiques – types sémantiques
1ère version
•
•
•
•
•
•
•
•
•
•
•
phrase
SV, VI
SN, Np
VT
adverbe de verbe VI/VI
N (nom commun)
adverbe de phrase
préposition
verbe propositionnel
verbe intentionnel
article
•
•
•
•
•
•
•
t
<e, t>
e
<e,<e,t>>
<<e,t>, <e, t>>
<e, t>
<t, t>
• < e, <<e,t>, <e, t>>>
• <t, <e, t>>
• <<e,t>, <e, t>>
• <<e, t>, e>
Correspondance
catégories syntaxiques – types sémantiques
2ème version
•
•
•
•
•
•
•
•
•
•
•
phrase
SV, VI
SN, Np
VT
adverbe de verbe VI/VI
N (nom commun)
adverbe de phrase
préposition
verbe propositionnel
verbe intentionnel
article
•
•
•
•
•
•
•
t
<e, t>
<<e,t>, t>
<<<e,t>,t>,<e,t>>
<<e,t>, <e, t>>
<e, t>
<t, t>
• <<<e,t>,t>, <<e,t>, <e, t>>>
• <t, <e, t>>
• <<e,t>, <e, t>>
• <<e, t>, <<e,t>, t>>
Sémantique dénotationnelle
• Qu’est-ce qu’une expression de type
<e, <e, t>>?
• une expression qui représente une fonction de
DD dans {vrai, faux}
• Soit  de type <e, <e, t>>, et  de type e :
||()||M,g = ||||M,g(||||M,g)
Exemple : chercher (extensionnel)
chercher(pénélope) ----> ??
(chercher(pénélope))(stéphane) ---->
chercher(pénélope, stéphane) ou
chercher(stéphane, pénélope) ???
exemples
• Supposons chercher (extensionnel) de
type <e, <e, t>>, nous admettons de plus
qu’il est représenté par le -terme :
x.y.chercher(x, y)
• alors:
((x.y.chercher(x, y) pénélope) stéphane)
----> (y.chercher(pénélope, y) stéphane)
----> chercher(pénélope, stéphane)
chaque enfant rigole
• But : x (enfant(x)  rigole(x))
• Identique à :
(P.[x (enfant(x)  P(x))] u.rigole(u))
• donc :
chaque enfant = P.[x (enfant(x)  P(x))]
• Identique à :
(Q.P.[x (Q(x)  P(x))] v.enfant(v))
• donc:
chaque = Q.P.[x (Q(x)  P(x))]
au moins, aucun…
• au moins un = Q.P.[x (Q(x)P(x))]
• aucun = Q.P.[x (Q(x)P(x))]
3. Assembler les objets au
moyen d’une grammaire
Grammaire de constituants
(1ère version)
•
•
•
•
•
•
•
S  SN SV
SN  Det N
SN  Np
SV  Vi
SV  Vt SN
SV  Vp que S
SV  Vint SV
•
•
•
•
•
•
•
(S) = ((SV) (SN))
(SN) = ((Det) (N))
(SN) = (Np)
(SV) = (Vi)
(SV) = ((Vt) (SN))
(SV) = ((Vp) (S))
(SV) = ((Vint)(SN))
exemple
• Le philosophe dit que Socrate ment
• Enrichir la grammaire pour avoir:
– Le philosophe grec dit que Socrate ment
– Le philosophe grec attaque violemment
Socrate
Grammaire de constituants
(2ème version)
•
•
•
•
•
•
•
S  SN SV
SN  Det N
SN  Np
SV  Vi
SV  Vt SN
SV  Vp que S
SV  Vint SV
•
•
•
•
•
•
•
(S) = ((SN) (SV))
(SN) = ((Det) (N))
(SN) = (Np)
(SV) = (Vi)
(SV) = (SN) o (Vt)
(SV) = ((Vp) (S))
(SV) = (SV)o(Vint)
Grammaire de constituants
•
•
•
•
•
•
•
•
Det  chaque | tout
Det  un
N  enfant | ballon
Np  stéphane
Vi  rigole
Vt  cherche
Vp  dit
Vint  essaie
•
•
•
•
•
•
•
•
(tout) = Q.P.[x (Q(x)  P(x))]
(un) = Q.P.[x (Q(x)P(x))]
(enfant) = x.enfant(x)
(stéphane) = P.P(stéphane)
(rigole) = x.rigole(x)
(cherche) = x.  y.cherche(x, y)
(dit) = P. x. dit(x,P)
(essaie) = x. P.essaie(x, P)
Exemple :
stéphane cherche un ballon
(Q.P.x[Q(x)P(x)] x. ballon(x)) SN
P.x[(x. ballon(x) x)P(x)]
 P.x[ballon(x)P(x)]
Det
un
Q.P.x[Q(x)P(x)]
N
ballon
x. ballon(x)
Exemple :
stéphane cherche un ballon
SV
P.x[ballon(x)P(x)]
Vt
SN
x.y. chercher(x,y)
Det
un
N
ballon
Exemple :
stéphane cherche un ballon
z. (P.x[ballon(x)P(x)],(x.y. chercher(x,y)
z))  z. (P.x[ballon(x)P(x)], y. chercher(z,y))
z. x[ballon(x) (y. chercher(z,y), x)],
 z. x[ballon(x) chercher(z,x)]
Composition :
(x.f(x)) o (y.g(y)) =
z. (x.f(x), (y.g(y), z))
SV
P.x[ballon(x)P(x)]
Vt
SN
x.y. chercher(x,y)
Det
un
N
ballon
Exemple :
stéphane cherche un ballon
S
SV
SN
z. x[ballon(x) chercher(z,x)]
P.x[ballon(x)P(x)]
Vt
SN
x.y. chercher(x,y)
Np
Stéphane
P. P(stéphane)
Det
un
N
ballon
Exemple :
stéphane cherche un ballon
S
(P. P(stéphane) z. x[ballon(x) chercher(z,x)])
(z. x[ballon(x) chercher(z,x)] stéphane)
 x[ballon(x) chercher(stéphane,x)]
SV
SN
z. x[ballon(x) chercher(z,x)]
P.x[ballon(x)P(x)]
Vt
SN
x.y. chercher(x,y)
Np
Stéphane
P. P(stéphane)
Det
un
N
ballon
Exemple :
stéphane cherche un ballon
S
x[ballon(x) chercher(stéphane,x)]
SV
SN
z. x[ballon(x) chercher(z,x)]
P.x[ballon(x)P(x)]
Vt
SN
x.y. chercher(x,y)
Np
Stéphane
P. P(stéphane)
Det
un
N
ballon
Téléchargement