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 ?