LOGIQUE DES PREDICATS 1 - Les lacunes de la logique des propositions pour formaliser les raisonnements Dans (LP) les lettres propositionnelles représentent des énoncés qui seront interprétés comme VRAIS ou FAUX. Par exemple : (E1) pour tout X , sin (90-X) = cos X De même : (E2) sin (90-X) = cos X (E3) il existe X tel que sin (90-X) = cos X Mais on n'a aucun moyen dans (LP) de voir que (E2) est un sous -énoncé de (E1) et de (E3) ou d'exprimer que (E1) implique (E3) ce qui est une lacune importante : savoir que : "pour tout X, P(X)" implique "il existe X, P(X)" est un ressort important du raisonnement mathématique par exemple. On ne sait pas non plus formaliser dans (LP) un raisonnement qui conduirait à trouver les valeurs de X pour lesquelles sin (90-X) = cos X est VRAI (ou FAUX). Parce qu'on ne peut pas représenter sin (90-X) ou cos X ou 90 ou X ou l'égalité de manière spécifique. Il est nécessaire d'avoir un système formel dans lequel on puisse représenter de manière différente des objets de nature différente afin de pouvoir formaliser les raisonnements qui portent sur des objets (et pas seulement ceux qui portent sur des énoncés). De même, si on veut formaliser le syllogisme : Tous les hommes sont mortels, (et) (donc) on va obtenir Socrate est un homme Socrate est mortel (A ∧ B) ⊃ C et le syllogisme : Tous les canards sont jaunes, (et) Donald est un canard (donc) Donald est jaune va être formalisé en (D ∧ E) ⊃ F sans moyen de reconnaître qu'il s'agit de la même forme de raisonnement. Il apparaît donc que dans (LP) on peut modéliser des raisonnements, mais pas des MODES DE RAISONNEMENT. Juin 2006 - Mme Kempf LOGIQUE FORMELLE 18 / 60 2 - Un modèle plus précis que la logique des propositions. On introduit les notions de quantificateur, fonction, prédicat, variable, constante, ce qui a pour effet de plonger la logique des propositions dans une logique plus riche : la logique des prédicats, où on distinguera plusieurs sortes de mots : les TERMES : constantes, variables et mots de la forme : f(x1, ..., xk) où f est une fonction et x1, ..., xk sont des termes. les PROPOSITIONS sont de la forme : p(x1, ..., xn) où p est un prédicat et x1, ..., xn sont des te rmes. les FORMULES :termes, propositions sont des formules ; si A et B sont des formules, c'est aussi le cas de (A) , A , A ∧ B , A v B , A ⊃ B , (∀ X) A, (∃ X) B , etc... les SENTENCES ou formules CLOSES c'est-à-dire sans VARIABLE LIBRE. Quelques définitions et propriétés : variable libre : variable non quantifiée. Une variable quantifiée est dite liée exemple : dans ( ∃x) ( A(x) ⊃ B(y) ) , y est libre, x est liée quantificateur : existentiel universel variable : peut être quantifiée constante : ne peut pas être quantifiée fonction : a pour arguments des termes et pour image des VALEURS (constantes ou variables). prédicat : a pour arguments des termes et pour image des VALEURS DE VERITE (vrai ou faux). Exemple 1 : (∀ x) ( sin (90-x) = cos x ) ∀ : quantificateur x : variable 90 : constante sin , - , cos : fonctions = : prédicat Exemple 2 : Un syllogisme bien connu : Juin 2006 - Mme Kempf LOGIQUE FORMELLE 19 / 60 Les hommes sont mortels Socrate est un homme donc Socrate est mortel De façon plus lourde, m ais plus précise : On sait que si x est un homme, alors x est mortel (implicitement : pour tout x, si x est un homme, alors x est mortel) et on sait que Socrate est un homme. On peut donc conclure que Socrate est mortel. x est ici une variable qui peut prendre une valeur particulière (ou constante) : Socrate. On peut donc formaliser le syllogisme en : (∀x) [ homme (x) ⊃ mortel (x) ] et homme (Socrate) donc mortel (Socrate) où "homme", "mortel" apparaissent comme des prédicats, x est une variable quantifiée ou liée, "pour tout" est un quantificateur. 3 - Le système formel (LPP) de la logique des prédicats 3-1- Définition : alphabet : constantes a b .... x y .... variables A B .... X Y .... fonctions f , g , H , K .... prédicats p , q , R , S .... connecteurs , ⊃ quantificateur ∀ séparateurs ( , ) mots: les formules bien formées : termes, propositions, formules, sentences axiomes : a1 - ( w 1 ⊃ (w2 ⊃ w1) ) a2 - (( w1 ⊃ (w2 ⊃ w3)) ⊃ ((w1 ⊃ w2) ⊃ (w1 ⊃ w3))) a3 - ( ( w2 ⊃ w1) ⊃ (w1 ⊃ w2) ) a4 - ( (∀X) G(X) ) ⊃ G(U) "particularisation" a5 - ( (∀X) (w1 ⊃ w2) ) ⊃ ( w 1 ⊃ (∀X) w 2 ) à condition que X ne figure pas comme variable libre dans w 1 règles d'inférence : modus ponens ( m 1 et ( m 1 ⊃ m 2 ) ) ----> m 2 généralisation m 1 ----> ( ∀X) m 1 , à condition que X soit variable libre dans m 1. Juin 2006 - Mme Kempf LOGIQUE FORMELLE 20 / 60 3-2- Enrichissements de (LPP) : Connecteurs ∧ , V , ≡ , ... définis comme dans (LP) Quantificateur existentiel : ∃ défini par ( ∃ X) p (X) ≡ ( (∀X) p (X) ) Règle "modus tollens" W1 ----> W2 W2 ⊃ W1 4 - Interprétations de (LPP) Interpréter le système formel (LPP) c'est définir un domaine D dans lequel variables et constantes prendront leurs valeurs et sur lequel seront définies des opérations : fonctions et prédicats, que l'on fera correspondre à ceux de (LPP). Remarque : Les connecteurs sont toujours interprétés de la même manière ( ∧ : et , v : ou, ...) les quantificateurs ∃, ∀ aussi. Premier théorème de Gödel "revisité": Les théorèmes de (LPP) sont exactement les formules logiquement valides. r démonstration identique à la démonstration dans (LP) s Définition : Une formule est LOGIQUEMENT VALIDE si, et seulement si, elle est vraie dans toutes les interprétations Remarque : Logiquement valide est synonyme de tautologie Exemple : (∀X)(G(X,a)⊃G(X,a)) où G est un prédicat, X une variable, a une constante Contre-exemple : (∀X) ( ∃ Y) ( ∃ Z) (=(X,*(Y,Z)) ce qui se lit : où = est un prédicat et * une fonction, (∀X) (∃Y) (∃Z) (X = Y*Z) et peut s'interpréter : - en un résultat vrai si = est interprété "égale" et * est interprété "multiplié par " dans N : tout x s'écrit x * 1; - en un résultat faux si = est interprété "égale" et * est interprété "multiplié par " dans N privé de 1 : un nombre premier x ne peut pas s'écrire y * z . Juin 2006 - Mme Kempf LOGIQUE FORMELLE 21 / 60 5 - Décidabilité de (LPP) théorème ? Mot de (LPP) formule non-valide formule satisfiable formule insatisfiable Une formule qui n'est pas logiquement valide peut être : non-valide s'il existe une interprétation dans laquelle elle est fausse. satisfiable s'il existe une interprétation dans laquelle elle est vraie. insatisfiable (ou contradictoire) si elle est fausse dans toute interprétation. ----> On sait donc DÉCRIRE l'ensemble des non-théorèmes : c'est l'ensemble des formules non valides. Cependant : Théorème de Church (1936) (LPP) n'est pas décidable. • parce que l'ensemble des théorèmes n'est pas récursivem ent énumérable s • parce qu'il existe d'autres sortes de mots : par exemple les paradoxes : (cf. J.L. Laurière) "Je ne suis pas un théorème" Néanmoins on montre que (LPP) est semi-décidable : pour toute formule qui est effectivement un théorème, on possède une procédure finie qui la démontre. ----> DÉDUCTION NATURELLE Gentzen -1935( cette méthode est aujourd’hui très peu utilisée) ----> RÉSOLUTION Robinson - 1960( chapitre 4 de ce cours) Juin 2006 - Mme Kempf LOGIQUE FORMELLE 22 / 60 6 - Logiques d'ordre supérieur Ce que l'on a décrit jusqu'ici représente la première forme de la logique des Prédicats ( ou logique du 1er ordre ). Mais... si on veut dire : "si deux objets X et Y sont égaux, alors ils ont les mêmes propriétés" on doit quantifier un prédicat P qui représente toutes les propriétés : ∀P , ∀X , ∀Y , (X = Y) ⊃ ( P (X) = P (Y) ) , ce qui n'est pas possible dans (LPP). Ä La logique du 2ème ordre permet de quantifier prédicats et fonctions. ∫ cos X .dX Si on regarde ∫ Qu'est-ce que ? Ce n'est ni une constante, ni une variable, ni un prédicat, ni une fonction. Certains appellent cela : une fonctionnelle. Ä Dans la logique du 3ème ordre, on peut quantifier les fonctionnelles. Ä par itération : logique d'ordre Ω et : λ-calcul, λ-abstraction (travaux de CHURCH). Juin 2006 - Mme Kempf LOGIQUE FORMELLE 23 / 60 7 - Exemple de démonstration dans le système formel (LPP) Si D est un prédicat à 2 places : | (∀x) (∀y) D (x,y) ⊃ (∀y) (∀x) D (x,y) Rappelons les axiomes d e (LPP) : a1 ( w1 ⊃ (w2 ⊃ w1) ) a2 a3 ( w1 ⊃ (w2 ⊃ w3) ) ⊃ ( (w1 ⊃ w2) ⊃ (w1 ⊃ w3) ) ( w2 ⊃ w1) ⊃ (w1 ⊃ w2) a4 ((∀ t) p (t)) ⊃ p (u) a5 (∀ t) (m 1 ⊃ m 2) ⊃ ( m 1 ⊃ (∀ t) m 2 ) | (∀x) (∀y) D (x,y) ⊃ (a4) donne (∀y) D (x',y) en notant "p(x)" l'expression (∀y) D (x,y) | (∀y) D (x',y) ⊃ D (x',y') (a4) donne aussi en notant "p(y)" l'expression D(x',y). On a donc 2 théorèmes de la forme | A ⊃ B | B ⊃ C et On a montré (chapitre 2) que ceci permettait de déduire : D'où (A ⊃ C) . | (∀x) (∀y) D (x,y) ⊃ D (x', y') . Par généralisation : | | qui est de la forme Comme (a 5) donne | | (∀x') ( (∀x) (∀y) D (x,y) ⊃ D (x',y') ) (∀x')( m 1 ⊃ m 2 ) . (∀x') (m 1 ⊃ m 2) ⊃ (m 1 ⊃ (∀x') m 2) , on obtient par modus ponens ( m 1 ⊃ (∀x') m 2 ) et par généralisation : | (∀y') ( m 1 ⊃ (∀x') m 2 ) . Avec (a5) : (∀y') (m 1 ⊃ (∀x')m 2) ⊃ (m 1 ⊃ (∀y') (∀x')m 2) on obtient : | (m 1 ⊃ (∀y')( ∀x')m 2) par modus ponens. C'est-à-dire : | (∀x) (∀y) D (x,y) ⊃ et par renommage de variables liées : (∀y') (∀x') D (x', y') | (∀x) (∀y) D (x,y) ⊃ (∀y) (∀x) D (x,y) . Bien que très simple, ce procédé de démonstration est lent, lourd et fastidieux. On verra une technique de démonstration beaucoup plus efficace : la méthode de résolution. Juin 2006 - Mme Kempf LOGIQUE FORMELLE 24 / 60 8 - Utilisations de la logique des prédicats 8-1 Représentation de connaissances : traduction dans un langage non ambigu, indépendant de la langue, éventuellement exploitable par un automate. Exemple 1 : Pour tout ensemble x, il existe un ensemble y de cardinal plus grand que celui de x peut s'écrire (∀x) ( ens(x) ⊃ (∃y) (∃u) (∃v) [ ens(y) ∧ # (x,u) ∧ # (y,v) ∧ < (u,v) ] ) # (x, y) signifie " x est de cardinal y " Ce mode de représentation est très riche : une même phrase peut être représentée de multiples manières. Exemple 2 : La maison est jaune Cette connaissance p eut se représenter par : jaune (maison) jaune est un prédicat à un argument. ou bien : couleur (maison, jaune) couleur est un prédicat à deux arguments : d'où une représentation plus générale; les objets considérés peuvent être de couleurs diverses, en particulier jaune. ou bien : égale (couleur (maison), jaune) encore plus de généralité ici : couleur est une fonction dont la valeur pour "maison" est égale à jaune; le prédicat égale pourrait aus si bien s'appliquer à "surface(maison)" et "grande" ou à "âge(capitaine)" et "indéterminé". ou encore : valeur (couleur, maison, jaune) nous avons ici le même niveau de généralité mais un choix de représentation différent : le prédicat valeur permet d'évaluer une caractéristique d'un objet; ce peut être la couleur de la maison, qui est jaune, ou la hauteur de la falaise, qui est 44 mètres : valeur (hauteur, falaise, 44 mètres) Juin 2006 - Mme Kempf LOGIQUE FORMELLE 25 / 60 8-2 Représentation des Connaissances et Démonstration ü en mathématiques, en logique. † dans des applications où résoudre un problème consiste à donner une preuve constructive d'un théorème. Par exemple : Sachant que : - le propriétaire de la maison A est Paul - Pierre habite la maison A - si x habite la maison y et si z est propriétaire de la maison y, alors x e st locataire de z, répondre à la question : " qui est locataire de Paul ? " revient à donner une preuve constructive du théorème ( ∃ x) locataire (x,Paul) basée sur les hypothèses : | propriétaire (A, Paul) | habite (Pierre, A) | (∀x)(∀y)(∀z)( (habite (x,y) ∧ propriétaire (y,z)) ⊃ locataire (x,z) ) Une solution consiste à "affecter des valeurs constantes aux variables", c'est-à-dire à remplacer dans la règle (troisième hypothèse) les variables par les constantes qui vérifient bien les propriétés. Ici, on donnera donc la valeur Pierre à x et A à y (à cause de la deuxième hypothèse) et Paul à z (à cause de la première hypothèse). Il suffit alors de lire la conclusion : locataire (Pierre, Paul). Nous verrons d'autres situations, plus générales : ü La logique des prédicats est le cadre privilégié pour construire des systèmes de déduction, des systèmes de production, des démonstrateurs de théorèmes ü d'autres problèmes, de "type robot" peuvent être traités dans (LPP). Ce sont des problèmes dans lesquels les états, les buts et les actions peuvent être décrits dans (LPP), et où il faut passer d'un état-source à un état-but par une suite appropriée d'actions. (c'est une forme de démonstration de théorèmes) ü Ceci conduit aux méthodes de résolution de problèmes, de planification d'actions, d'apprentissage automatique. (cours de 4 ème Année) Ø De manière générale, la Logique des Prédicats est le cadre privilégié du développement de l'Intelligence Artificielle. Juin 2006 - Mme Kempf LOGIQUE FORMELLE 26 / 60