Nadia KABACHI Maître de Conférences UFR d’Informatique [email protected] LOGIQUE ET PROGRAMMATION LOGIQUE 1 PLAN LE COURS DE LOGIQUE EST BASE SUR LE COURS DE NARENDRA JUSSIEN INTRODUCTION LOGIQUE DES PROPOSITIONS LOGIQUE DU PREMIER ORDRE PROLOG 2 Définition 3 Historique 4 Logique des propositions Notion de proposition 5 Logique des propositions Notion de valeur de vérité 6 Logique des propositions Étude du calcul propositionnel Quatre étapes Comment écrire les formules? Aspects syntaxiques Comment déterminer la valeur de vérité d’une formule ? Aspects sémantiques Existe-t-il un lien entre logique et mathématique? Aspects algébriques (Mr G. Boole) Comment démontrer (automatiquement) de nouveaux résultats ? Aspects déductifs 7 Logique des propositions Aspects syntaxiques Les données 8 Logique des propositions Aspects syntaxiques F l’ensemble des formules du calcul propositionnel K 9 Logique des propositions Aspects syntaxiques Règles d’élimination des parenthèses Supprimer les parenthèses entourant les variables Tenir compte de la priorité des connecteurs ordre standard : ¬, ∧, ∨, →, ↔ Considérer qu’un opérateur unaire l’«emporte» toujours sur un opérateur binaire 10 Logique des propositions Aspects sémantiques Valeurs de vérité 11 Logique des propositions Aspects sémantiques Table de vérités 12 Logique des propositions Aspects sémantiques 13 Calcul propositionnel ( p q) (p q) p q 0 0 1 1 0 1 0 1 ? ¬p ¬q pq ¬(pq) (¬ p ¬ q) F 1 1 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 14 Logique des propositions Aspects sémantiques Formules particulières NB : on dit aussi que F est consistante. 15 Logique des propositions Aspects sémantiques Exemple : On considère : (¬p → q) ∧ (q ↔ r) p q r ¬p ¬p → q q ↔ r (¬p → q) ∧ (q ↔ r) 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 16 Logique des propositions Aspects sémantiques Formules particulières NB : on dit aussi que F est inconsistante, contradictoire, ou encore insatisfiable. 17 Logique des propositions Aspects sémantiques Formules particulières 18 Logique des propositions Aspects syntaxiques p → q et ¬p ∨ q sont tautologiquement équivalentes. On peut donc écrire : ├ (p → q) ↔ (¬p ∨ q). 19 Logique des propositions Aspects syntaxiques Équivalences tautologiques bien connues 20 Logique des propositions Aspects syntaxiques Équivalences tautologiques bien connues 21 Logique des propositions Aspects syntaxiques Équivalences tautologiques bien connues 22 Logique des propositions Aspects syntaxiques Équivalences tautologiques bien connues 23 Logique des propositions Aspects syntaxiques Formes normales NB : si dans chaque Hi figurent toutes les variables ou leur négation, on parle de forme canonique 24 Logique des propositions Aspects syntaxiques Forme normale disjonctive A faire pour le TD 25 Logique des propositions Aspects syntaxiques Forme normale conjonctive A retenir : La forme normale conjonctive est aussi appelée 26 forme clausale Logique des propositions Aspects déductifs Notion de conséquence NB : Une conséquence logique de ∅ est une tautologie 27 Logique des propositions Aspects déductifs Notion de conséquence 28 Logique des propositions Aspects déductifs Systèmes formels 29 Logique des propositions Aspects déductifs Systèmes formels : Démonstrations et théorèmes 30 NB : Différence entre conséquence logique et démonstration Logique des propositions Aspects déductifs Prise en compte d’hypothèses NB : On dit aussi que J est un modèle de A. 31 Logique des propositions Aspects déductifs Principales règles d’inférences 32 Logique des propositions Aspects déductifs Propriétés d’un système formel : théorèmes Un système formel est correct ssi si A alors A – tout ce qui est démontrable est vrai Un système formel est complet ssi si A alors A – tout ce qui est vrai est démontrable 33 Logique des propositions Aspects déductifs Limites du calcul propositionnel 34 Logique des propositions Aspects déductifs Être plus proche du langage naturel NB : dans un langage du second ordre, on peut aussi quantifier les 35 relations et les fonctions Logique du premier ordre Calcul des prédicats Comment écrire les formules ? – Aspects syntaxiques Comment déterminer la valeur de vérité d’une formule ? – Aspects sémantiques Comment démontrer de nouveaux résultats ? Aspects déductifs 36 Calcul des prédicats Logique du premier ordre Une modélisation – Les chandelles sont faites pour éclairer x, chandelle ( x ) éclaire ( x ) – Quelques chandelles éclairent très mal x, chandelle ( x ) éclaireMal ( x ) – Quelques objets qui sont faits pour éclairer le font très mal x, éclaire ( x ) éclaireMal ( x ) 37 Calcul des prédicats Logique du premier ordre Alphabet Syntaxe 38 Calcul des prédicats Logique du premier ordre Alphabet Syntaxe 39 Calcul des prédicats Logique du premier ordre Vocabulaire Les termes – les variables et les constantes sont des termes – f(t1, …, tn) est un terme si les ti sont des termes f est un symbole de fonction d’arité n Les atomes – R(t1, …, tn) est un atome si les ti sont des termes R est un symbole de relation d’arité n 40 Calcul des prédicats Logique du premier ordre Formules Un atome est une formule Si F et G sont des formules et x une variable, alors les expressions suivantes sont des formules – (F) – (F) (G) et (F) (G) – (F) (G) et (F) (G) – x (F) et x (G) 41 Calcul des prédicats Logique du premier ordre Formules 42 Calcul des prédicats Logique du premier ordre 43 Calcul des prédicats Logique du premier ordre 44 Calcul des prédicats Logique du premier ordre 45 Calcul des prédicats Logique du premier ordre Occurrence d’une variable Une occurrence d’une variable x dans une formule F est un endroit où x apparaît dans F sans être immédiatement précédée par ou Une occurrence libre de x dans F est définie : 46 Calcul des prédicats Logique du premier ordre Occurrence libre 47 Calcul des prédicats Logique du premier ordre Caractéristiques des variables Une variable est dite libre dans une formule F si elle a au moins une occurrence libre (sinon on dit qu’elle est liée) Une formule n’ayant pas de variable libre est dite close 48 Calcul des prédicats Logique du premier ordre 49 Logique du premier ordre Suite en TD 50 Logique du premier ordre Notion de substitution 51 Calcul des prédicats Logique du premier ordre Aspects sémantiques Interprétation Formules universellement valides Le théorème de Herbrand Principe de résolution adapté au calcul des prédicats 52 Calcul des prédicats Logique du premier ordre Vers la notion de modèle 53 Calcul des prédicats Logique du premier ordre Vers la notion de modèle Soit L le langage du calcul des prédicats – une interprétation de L c’est la donnée de : un ensemble E non vide appelé ensemble de base pour chaque symbole de prédicat R d’arité n, d’un sous-ensemble R’ de En pour chaque symbole de fonction f d’arité n, d’une application f’ de En vers E (y compris pour les constantes) – on peut alors calculer la valeur de tout terme clos (c’est un élément de E) – on peut donc associer une valeur de vérité à tout atome et donc par extension à toute formule close 54 Calcul des prédicats Logique du premier ordre Exemple d’interprétation xyz (P(x,y) Q(y,z) R(x,z)) xy ( (M(x,y) P(x,y) Q(x,y)) M(a,b) P(c,b) P(d,a) P(e,c) E= P’ = a’ = { anne, bernard, …} est le père de anne M’ = est la mère de Q’ = est un parent de R’ = est le grand-père de b’ = bernard c’ = charles d’ = didier e’= éric 55 Calcul des prédicats Logique du premier ordre Modèle NB : on dit aussi que F est une tautologie. 56 Calcul des prédicats Logique du premier ordre Preuve et démonstration Comment prouver une formule du calcul des prédicats ? – Prouver qu’elle est vraie passer en revue toutes les interprétations ! – Prouver qu’elle est fausse trouver une interprétation qui invalide la formule 57 Calcul des prédicats Logique du premier ordre Toutes les interprétations ? Une représentation utile des formules – forme clausale Un théorème qui simplifie la vie – théorème de Herbrand Principe de résolution pour le calcul des prédicats – vers une automatisation des démonstrations 58 Calcul des prédicats Logique du premier ordre Transformation de formule Forme normale prénexe – quantificateurs en tête de la formule – formule sous forme normale conjonctive Forme standard de Skolem – formule sous forme normale prénexe – quantificateurs existentiels précédant quantificateurs universels Toute formule du calcul des prédicats est équivalente à une formule sous forme standard de Skolem 59 Calcul des prédicats Logique du premier ordre Mise sous forme normale prénexe 60 Calcul des prédicats Logique du premier ordre Mise sous forme normale prénexe Éliminer les connecteurs et Transporter les devant les atomes – en utilisant ( F F) et les lois de De Morgan Transporter les quantificateurs en tête de la formule Ne pas hésiter à renommer les variables pour pouvoir utiliser les propriétés des quantificateurs. 61 Calcul des prédicats Logique du premier ordre Transport des quantificateurs x F x F x F x F xy F yx F xy F yx F x F x H x F H x F x H x F H si H ne contient aucune occurrence de x x F H x F H x F H x F H x H H x H H 62 Calcul des prédicats Logique du premier ordre Mise sous forme normale prénexe 63 Calcul des prédicats Logique du premier ordre Mise sous forme normale prénexe En TD 64 Logique du premier ordre Forme de Skolem NB : lorsque les quantificateurs universels précèdent les quantificateurs existentiels, on parle de forme de Herbrand 65 Calcul des prédicats Logique du premier ordre Inversion de et de Skolemisation Lorsqu’on a xy f ( x ) y on remplace y par une fonction g qui à x associe y gx f ( x ) g ( x ) Skolemisation = expliciter l’implicite NB : On dit aussi qu’on « Skolémise » la variable y 66 Logique du premier ordre Forme standard de Skolem 67 Calcul des prédicats Une représentation utile des formules : Forme clausale xyz p( x, y) q( z, y, x) p(a, y1 ) ; q( z1, y2 , a) 68 Calcul des prédicats Une représentation utile des formules : Forme clausale En TD 69 Une représentation utile des formules : Forme clausale 70 Calcul des prédicats Logique du premier ordre Univers de Herbrand NB : si aucune constante n’apparaît dans C, on pose H0 = {a}. 71 Calcul des prédicats Logique du premier ordre Univers de Herbrand 72 Calcul des prédicats Logique du premier ordre Univers de Herbrand 73 Calcul des prédicats Logique du premier ordre Univers de Herbrand 74 Calcul des prédicats Logique du premier ordre Univers de Herbrand 75 Calcul des prédicats Logique du premier ordre Théorème de Herbrand Théorème Un ensemble S de clauses est insatisfaisable si et seulement si il existe un ensemble S’ d’instances de base insatisfaisable Corollaire Un ensemble de clauses est satisfaisable si et seulement si tout ensemble fini d’instances de base est satisfaisable 76 Principales applications du théorème de Herbrand Preuve qu’une formule est universellement valide → on montre que sa négation est insatisfiable. Validation de raisonnement → on montre que les prémisses et la négation de la conclusion forment un ensemble de clauses insatisfiable 77 78 79 80 81 82 83 84 85 86 Principe de résolution pour le calcul des prédicats NB : c’est le théorème de Herbrand qui nous permet ces 87 transformations Vocabulaire 88 Vocabulaire 89 Vocabulaire 90 Principe de résolution 91 Principe de résolution 92 Principe de résolution 93 Principe de résolution 94 Principe de résolution 95 Principe de résolution 96 Principe de résolution 97 Principe de résolution 98 Principe de résolution 99 Principe de résolution 100 Principe de résolution 101 Principe de résolution 102