diapositives

publicité
REPRÉSENTATIONS & MODÈLES
M. Desmedt, M. Kihlstedt, A. Lacheret, F. Métayer
2010-2011
Paris Ouest Nanterre La Défense
Introduction
Sémantique formelle
Sens et dénotation
Ensembles et fonctions
Types simples
Logique minimale
Termes fonctionnels
Analyse d’exemples
Syntaxe formelle
Grammaires catégorielles
Calcul de Lambek
Quelques exemples
Traduction
Représentations
Une notion très vaste
I
le portrait d’une personne ou d’un objet ;
I
l’organigramme d’une société ;
I
une partition musicale...
Représentations
Une notion très vaste
I
le portrait d’une personne ou d’un objet ;
I
l’organigramme d’une société ;
I
une partition musicale...
Représentation formelle
I
un système de symboles ;
I
des règles explicites de formation.
Une représentation est-elle arbitraire ?
Exemple
Le nombre dix-sept peut être représenté par
I
XVII en chiffres romains
I
17 en numération décimale
I
10001 en numération binaire
Une représentation est-elle arbitraire ?
Exemple
Le nombre dix-sept peut être représenté par
I
XVII en chiffres romains
I
17 en numération décimale
I
10001 en numération binaire
Même information superficielle, mais différences considérables à
l’usage.
Modèles
Un modèle est une représentation pourvue d’une structure interne,
autonome par rapport aux phénomènes étudiés.
I
La représentation formelle d’un phénomène n’est jamais à
proprement parler celle du phénomène lui-même, mais celle
d’une abstraction informelle intermédiaire mettant
éventuellement en jeu un protocole expérimental, un
appareillage adapté, etc ;
I
À l’intérieur du modèle apparaissent souvent des entités
formelles qui ne correspondent à rien sur le plan du
phénomène étudié.
Quel objectif ?
Objet de l’étude
Un fragment du français, constitué de phrases déclarative simples :
B Un oiseau chante
Quel objectif ?
Objet de l’étude
Un fragment du français, constitué de phrases déclarative simples :
B Un oiseau chante
Programme
I
construire une représentation formelle du sens ;
I
rendre compte formellement de la syntaxe, en particulier
analyser l’ordre des mots ;
I
relier formellement les deux aspects précédents.
Point de départ
Sens et dénotation
Frege distingue sens et dénotation. Dans l’énoncé :
B Henri IV est le père de Louis XIII
les expressions « Henri IV » et « le père de Louis XIII »
n’ont pas le même sens mais dénotent deux objets de la réalité
dont l’histoire nous apprend qu’ils sont identiques. On dira que ces
expressions ont la même dénotation.
Point de départ
Sens et dénotation
Frege distingue sens et dénotation. Dans l’énoncé :
B Henri IV est le père de Louis XIII
les expressions « Henri IV » et « le père de Louis XIII »
n’ont pas le même sens mais dénotent deux objets de la réalité
dont l’histoire nous apprend qu’ils sont identiques. On dira que ces
expressions ont la même dénotation.
Notation
I
la dénotation d’une expression se note [expression] ;
I
[Henri IV] = [le père de Louis XIII].
Deux principes de la sémantique dénotationnelle
Valeurs de vérité
La dénotation d’une phrase complète est sa valeur de vérité.
Exemple
[Henri IV est le père de Louis XIII] = vrai
Deux principes de la sémantique dénotationnelle
Valeurs de vérité
La dénotation d’une phrase complète est sa valeur de vérité.
Exemple
[Henri IV est le père de Louis XIII] = vrai
Compositionnalité
La dénotation du tout est fonction de la dénotation des parties.
Exemple
[Henri IV mange] = [Le père de Louis XIII mange]
Une phrase simple
B Pierre dort
Une phrase simple
B Pierre dort
Deux ensembles
I
t = {>, ⊥} valeurs de vérité : [Pierre dort] ∈ t ;
I
e objets, entités individuelles : [Pierre] ∈ e.
Une phrase simple
B Pierre dort
Deux ensembles
I
t = {>, ⊥} valeurs de vérité : [Pierre dort] ∈ t ;
I
e objets, entités individuelles : [Pierre] ∈ e.
Typage
On dit aussi que > est de type t et que [Pierre] est de type e.
>:t
[Pierre] : e
Quel est le type du verbe ?
Idée
[dort] est une fonction qui attend un argument de type e et
renvoie une valeur de type t.
[dort] est un fonction de l’ensemble e vers l’ensemble t qui à
chaque entité x de type e associe > si x dort et ⊥ sinon.
Quel est le type du verbe ?
Idée
[dort] est une fonction qui attend un argument de type e et
renvoie une valeur de type t.
[dort] est un fonction de l’ensemble e vers l’ensemble t qui à
chaque entité x de type e associe > si x dort et ⊥ sinon.
Notation
l’ensemble des fonctions de a vers b se note a → b.
Quel est le type du verbe ?
Idée
[dort] est une fonction qui attend un argument de type e et
renvoie une valeur de type t.
[dort] est un fonction de l’ensemble e vers l’ensemble t qui à
chaque entité x de type e associe > si x dort et ⊥ sinon.
Notation
l’ensemble des fonctions de a vers b se note a → b.
Exemple
[dort] : e → t
donc
[Pierre dort] = [dort]([Pierre])
où l’application d’une fonction f à l’ argument a est notée f (a).
Verbes transitifs
Un second exemple
B Pierre aime Marie
I
[aime] : une fonction de deux arguments ;
I
(x, y ) 7→ > si x aime y , et ⊥ sinon ;
I
[Pierre aime Marie] = [aime] ([Pierre], [Marie]).
Définition
Le produit cartésien de a par b, noté a × b est l’ensemble des
couples (x, y ) tels que x ∈ a et y ∈ b.
conséquence :
[aime] : e × e → t
Réduction à un seul argument
Proposition
Les ensembles a × b → c et a → (b → c) sont naturellement
équivalents.
Un second typage
I
[aime] : e → (e → t) ;
I
[Pierre aime Marie] = ([aime]([Marie]))([Pierre])
Types, ensembles et formules
Définition
Si A = {a, b, c...} est un ensemble des types atomiques, l’ensemble
T des types simples est défini par
T = A | (T → T)
Exemples
t, e, (e → e), ((e → t) → t), ((e → t) → (e → t))
Types, ensembles et formules
Définition
Si A = {a, b, c...} est un ensemble des types atomiques, l’ensemble
T des types simples est défini par
T = A | (T → T)
Exemples
t, e, (e → e), ((e → t) → t), ((e → t) → (e → t))
Deux interprétations
1. a représente un ensemble et a → b l’ensemble des fonctions
de a vers b ;
2. a représente une formule et a → b l’implication de a vers b.
En passant par la logique
Définition
Les formules de la logique minimale sont les types simples, et les
preuves sont construites à partir des règles d’élimination et
d’introduction :
I
de a, a → b on tire b ;
I
une preuve de a → b est donnée par une preuve de b sous
l’hypothèse a.
Schéma d’introduction
Montrons a → b
Supposons a et montrons b
..
.
b
Donc a → b
Arbres de preuves
Règle d’élimination
a
a→b
b
Règle d’introduction
...[a]1 ...
..
.
b
a→b
1
Arbres de preuves
Règle d’élimination
a
a→b
b
a
Règle d’introduction
...[a]1 ...
..
.
b
a→b
Exemple
[a → b]1
b→c
b
c
(a → b) → c
1
1
Lambda-termes
Idée
Représenter les fonctions par des termes adaptés au calcul.
I
une fonction u peut être appliquée à un argument v ;
I
une expression u contenant éventuellement une variable x
détermine une fonction v : x 7→ u.
Lambda-termes
Idée
Représenter les fonctions par des termes adaptés au calcul.
I
une fonction u peut être appliquée à un argument v ;
I
une expression u contenant éventuellement une variable x
détermine une fonction v : x 7→ u.
Définition
l’ensemble Λ des λ-termes est défini par :
Λ = V | (Λ Λ) | λxΛ
où V est un ensemble de variables et x ∈ V.
Exemples
x, λxx, (λxx y ), λxλy (x y ), ...
Termes et preuves
Deux analogies
I
ensemble formule ;
I
fonction preuve.
Un dictionnaire
λ-terme
variable
application
abstraction
preuve
hypothèse
élimination
introduction
Termes et preuves
Deux analogies
Règles
I
ensemble formule ;
I
fonction preuve.
v :a
u:a→b
(u v ) : b
Un dictionnaire
λ-terme
variable
application
abstraction
preuve
hypothèse
élimination
introduction
...[x : a]1 ...
..
.
u:b
λxu : a → b
1
Comment extraire un terme d’une preuve ?
Exemple
x :a
[y : a → b]1
(y x) : b
z :b→c
(z (y x)) : c
λy (z (y x)) : (a → b) → c
1
Le calcul
Définition
Un radical est un terme de la forme (λxu v ). Les radicaux se
réduisent suivant l’unique règle de calcul, appelée β-réduction :
(λxu v )
I
β
u[v ← x]
Le terme de droite est le résultat de la substitution dans u de
toutes les occurrences de x par le terme v .
Le calcul
Définition
Un radical est un terme de la forme (λxu v ). Les radicaux se
réduisent suivant l’unique règle de calcul, appelée β-réduction :
(λxu v )
I
β
u[v ← x]
Le terme de droite est le résultat de la substitution dans u de
toutes les occurrences de x par le terme v .
Exemple
(λx(λyy x) z)
β
(λyy z)
β
z
Propriétés du calcul
Confluence
Le calcul par β-réduction est confluent.
Définition
Un terme est normal s’il ne contient aucun radical.
Termes simplement typés
I
la réduction préserve les types ;
I
les termes simplement typés sont fortement normalisables.
Termes étendus
Constantes
On ajoute aux termes purs de Λ un ensemble
C = {[Pierre], [dort], [aime], ...}
de nouvelles constantes
Termes étendus
Constantes
On ajoute aux termes purs de Λ un ensemble
C = {[Pierre], [dort], [aime], ...}
de nouvelles constantes
Définition
ΛC = V | C | (ΛC ΛC ) | λxΛC
Termes étendus
Constantes
On ajoute aux termes purs de Λ un ensemble
C = {[Pierre], [dort], [aime], ...}
de nouvelles constantes
Définition
ΛC = V | C | (ΛC ΛC ) | λxΛC
Axiomes propres
I
[Pierre] : e ;
I
[dort] : e → t ;
I
[aime] : e → (e → t) ;
I
...
Le calcul avec ΛC
Typage
On se limite aux termes de ΛC qui peuvent être obtenus avec les
règles des types simples et les axiomes propres.
Exemple
[x : e]1
[dort] : e → t
([dort] x) : t
λx([dort] x) : e → t
1
Le calcul avec ΛC
Typage
On se limite aux termes de ΛC qui peuvent être obtenus avec les
règles des types simples et les axiomes propres.
Exemple
[x : e]1
[dort] : e → t
([dort] x) : t
λx([dort] x) : e → t
Remarque
Il faut deviner les bons axiomes !
1
Cas de base
Exemple 1
B Pierre dort
Cas de base
Exemple 1
B Pierre dort
Typage
[Pierre] : e
[dort] : e → t
([dort] [Pierre]) : t
Verbe transitif
Exemple 2
B Pierre aime Marie
Verbe transitif
Exemple 2
B Pierre aime Marie
Typage
[Marie] : e
[Pierre] : e
[aime] : e → (e → t)
([aime] [Marie]) : e → t
(([aime] [Marie]) [Pierre]) : t
Quantification
Exemple 3
B quelqu’un dort
Quantification
Exemple 3
B quelqu’un dort
Idée
I
[quelqu’un] n’est pas de type e ;
I
une fonction qui attend l’argument [dort], de type e → t, et
renvoie > s’il existe une personne qui dort, ⊥ sinon ;
I
[quelqu’un] : (e → t) → t
Notation
∃e = [quelqu’un]
Quantification (suite)
Typage
[dort] : e → t
∃e : (e → t) → t
(∃e [dort]) : t
Quantification (suite)
Typage
[dort] : e → t
∃e : (e → t) → t
(∃e [dort]) : t
Traduction vers un langage de prédicats
Si ∃◦e = λP ∃xP(x) et [dort]◦ = D :
(∃e [dort])◦
=
(∃◦e [dort]◦ )
=
(λP ∃xP(x) D)
β
∃xD(x)
Conjonction
Exemple 4
B Pierre dort et Marie chante
Conjonction
Exemple 4
B Pierre dort et Marie chante
Idée
[et] : une fonction qui attend deux termes de type t et renvoie
une valeur de type t, d’où
[et] : t × t → t
ou encore
[et] : t → (t → t)
Notation
I
[et] = ∧t,t ;
I
∧◦t,t = λxλy x ∧ y .
Conjonction (suite)
Une preuve de typage
..
.
..
.
([chante] [Marie]) : t
([dort] [Pierre]) : t
∧t,t : t → (t → t)
(∧t,t ([dort] [Pierre])) : t → t
((∧t,t ([dort] [Pierre])) [Marie]) : t
Traduction en calcul des prédicats
Traductions
L = {p, m, D, C } un langage de prédicats.
[Pierre]◦ = p
[Marie]◦ = m
[dort]◦ = D
[chante]◦ = C
∧◦t,t
= λxλy x ∧ y
Le calcul
((∧t,t ([dort] [Pierre])) [Marie])◦
∗
β
D(p) ∧ C (m)
Article indéfini
Exemple 5
B un homme dort
Article indéfini
Exemple 5
B un homme dort
Deux observations
I
[homme] est de type e → t ;
I
[un homme] a le même type que [quelqu’un] :
[un homme] : (e → t) → t
Type du déterminant
[un] : (e → t) → ((e → t) → t)
Un terme explicite pour [un]
Une preuve dans ΛC
[z : e]1
[z : e]1
[y : e → t]2
(y z) : t
[x : e → t]3
∧t,t : t → (t → t)
(x z) : t
(∧t,t (x z)) : t → t
((∧t,t (x z)) (y z)) : t
1
λz((∧t,t (x z)) (y z)) : e → t
∃e : (e → t) → t
(∃e λz((∧t,t (x z)) (y z))) : t
2
λy (∃e λz((∧t,t (x z)) (y z))) : e → t → t
3
λxλy (∃e λz((∧t,t (x z)) (y z))) : (e → t) → ((e → t) → t)
Un terme explicite pour [un] (suite)
Définition
[un] = λxλy (∃e λz((∧t,t (x z)) (y z)))
Calcul
[homme]◦ = H
[dort]◦ = D
[un]◦ = λxλy (∃e λz((∧t,t (x z)) (y z)))◦
= λxλy (∃◦e λz((∧◦t,t (x z)) (y z)))
(([un] [homme]) [dort])◦
∗
β
∃z(H(z) ∧ D(z))
Types syntaxiques
Catégories syntaxiques
I
terme : type ;
I
Pierre : sn ;
I
Pierre dort : s.
Idée
I
Le type a\b attend un type a à sa gauche pour former un type
b;
I
Le type b/a attend un type a à sa droite pour former un type
b
Exemple
dort : sn\s
Ordre des mots
B Pierre aime Marie
Typage syntaxique
I
Marie est de type sn ;
I
aime Marie est de type sn\s ;
I
aime attend sn à droite pour former sn\s ;
Verbe transitif
aime : (sn\s)/sn
Formules
Variables et connecteurs
I
V = {a, b, c, ..} ;
I
\, /.
Définition
F = V | (F\F) | (F/F)
Exemples
(a\b), ((a\b)/a), ((a/b)\(a/c)), ...
Règles
Élimination
a
a\b
b/a
b
a
b
Introduction
[a]1 · · ·
..
.
b
a\b
· · · [a]1
..
.
1
b
b/a
1
Conséquence logique
Exemple
c, c\b ` (a/b)\a
Preuve
c
c\b
[a/b]1
b
a
(a/b)\a
1
Langage
Mots sur un alphabet
I
Σ = a, b, c, ... ;
I
Σ∗ l’ensemble des mots sur Σ.
Définition
Un langage est une partie de Σ∗ .
Exemple
I
Σ = {Pierre, dort, ...} ;
I
L ⊂ Σ∗ : les phrases correctes composées avec les mots du
vocabulaire.
Grammaires
Définition
Une grammaire G sur un alphabet Σ est donnée par :
I
un ensemble V de types de base, parmi lesquels un type
distingué s ;
I
un lexique associant à chaque élément de Σ un ou plusieurs
types pris parmi les formules construites sur V au moyen des
connecteurs \ et /.
Langage reconnu
I
Un mot est reconnu si on peut prouver s à partir des types de
ses constituants, pris dans l’ordre ;
I
Un langage L est reconnu par G si les mots reconnus sont
exactement ceux de L.
Grammaire (suite)
Exemple
« Pierre dort » est reconnu :
sn
sn\s
s
Grammaire (suite)
Exemple
« Pierre dort » est reconnu :
sn
sn\s
s
Typage
Pierre : sn
dort : sn\s
Pierre dort : s
Règles de typage
Typage de la concaténation
u:a
v : a\b
uv : b
v : b/a
u:a
vu : b
Remarque
Les règles d’introduction servent à établir des propriétés générales
du système, par exemple
(a\b)/c ∼ a\(b/c)
Verbe transitif
B Pierre aime Marie
Typage
I
Pierre : sn
I
Marie : sn
I
aime : (sn\s)/sn
Preuve
aime : (sn\s)/sn
Pierre : sn
Marie : sn
aime Marie : sn\s
Pierre aime Marie : s
Pronom, déterminant, adverbe
B Elle aime beaucoup les fraises
Pronom, déterminant, adverbe
B Elle aime beaucoup les fraises
Typage
I
Elle : sn ? pas assez contraignant :
Elle : s/(sn\s)
I
beaucoup :? Modifie le verbe, d’où le typage
beaucoup : ((sn\s)/sn)\((sn\s)/sn)
I
fraises : n d’où le typage
les : sn/n
Pronom, déterminant, adverbe (suite)
Preuve de typage
I
aime : (sn\s)/sn beaucoup : ((sn\s)/sn)\((sn\s)/sn)
les : sn/n fraises : n
aime beaucoup : (sn\s)/sn
les fraises : sn
aime beaucoup les fraises : sn\s
Pronom, déterminant, adverbe (suite)
Preuve de typage
I
aime : (sn\s)/sn beaucoup : ((sn\s)/sn)\((sn\s)/sn)
les : sn/n fraises : n
aime beaucoup : (sn\s)/sn
les fraises : sn
aime beaucoup les fraises : sn\s
I
..
.
Elle : s/(sn\s)
aime beaucoup les fraises : sn\s
Elle aime beaucoup les fraises : s
Traduction vers la représentation sémantique
Idée générale
I
s∗ = t ;
I
sn∗ = e ;
I
n∗ = e → t ;
I
(a\b)∗ = (b/a)∗ = a → b.
Proposition
Si une formule f est prouvable en calcul de Lambek, sa traduction
f ∗ est prouvable en logique minimale.
Une question
Existe t-il une traduction satisfaisante des termes ?
Téléchargement