LOGIQUE ET PROGRAMMATION LOGIQUE Nadia KABACHI Maître de Conférences UFR d’Informatique Nadia.Kabachi@univ-lyon1.fr LOGIQUE ET PROGRAMMATION LOGIQUE
LE COURS DE LOGIQUE EST BASE SUR LE COURS DE NARENDRA JUSSIEN PLAN LE COURS DE LOGIQUE EST BASE SUR LE COURS DE NARENDRA JUSSIEN INTRODUCTION LOGIQUE DES PROPOSITIONS LOGIQUE DU PREMIER ORDRE PROLOG
Définition
Historique
Logique des propositions Notion de proposition
Logique des propositions Notion de valeur de vérité
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
Logique des propositions Aspects syntaxiques Les données
Logique des propositions Aspects syntaxiques F l’ensemble des formules du calcul propositionnel K
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
Logique des propositions Aspects sémantiques Valeurs de vérité
Logique des propositions Aspects sémantiques Table de vérités
Logique des propositions Aspects sémantiques A REVOIR….
? p q ¬ p ¬ q p q ¬ ( p q ) (¬ p ¬ q) F 0 0 0 1 1 0 1 1 1 1 1 1 Calcul propositionnel ? p q ¬ p ¬ q p q ¬ ( p q ) (¬ p ¬ q) F 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 0 1 1 1 0 0 1 0 1 1
Logique des propositions Aspects sémantiques Formules particulières NB : on dit aussi que F est consistante.
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) 1
Logique des propositions Aspects sémantiques Formules particulières NB : on dit aussi que F est inconsistante, contradictoire, ou encore insatisfiable.
Logique des propositions Aspects sémantiques Formules particulières
Logique des propositions Aspects syntaxiques p → q et ¬p ∨ q sont tautologiquement équivalentes. On peut donc écrire : ├ (p → q) ↔ (¬p ∨ q).
Logique des propositions Aspects syntaxiques Équivalences tautologiques bien connues
Logique des propositions Aspects syntaxiques Équivalences tautologiques bien connues
Logique des propositions Aspects syntaxiques Équivalences tautologiques bien connues
Logique des propositions Aspects syntaxiques Équivalences tautologiques bien connues V*?
Logique des propositions Aspects syntaxiques Formes normales A revoir ???? NB : si dans chaque Hi figurent toutes les variables ou leur négation, on parle de forme canonique
Logique des propositions Aspects syntaxiques Forme normale disjonctive A faire pour le TD
Logique des propositions Aspects syntaxiques Forme normale conjonctive A retenir : La forme normale conjonctive est aussi appelée forme clausale
Logique des propositions Aspects déductifs Notion de conséquence NB : Une conséquence logique de ∅ est une tautologie
Logique des propositions Aspects déductifs Notion de conséquence
Logique des propositions Aspects déductifs Systèmes formels
Logique des propositions Aspects déductifs Systèmes formels : Démonstrations et théorèmes 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.
Logique des propositions Aspects déductifs Principales règles d’inférences
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
Logique des propositions Aspects déductifs Limites du calcul propositionnel
Logique des propositions Aspects déductifs Être plus proche du langage naturel NB : dans un langage du second ordre, on peut aussi quantifier les 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
Logique du premier ordre Calcul des prédicats Logique du premier ordre Une modélisation Les chandelles sont faites pour éclairer Quelques chandelles éclairent très mal Quelques objets qui sont faits pour éclairer le font très mal
Logique du premier ordre Calcul des prédicats Logique du premier ordre Syntaxe Alphabet
Logique du premier ordre Calcul des prédicats Logique du premier ordre Syntaxe Alphabet
Logique du premier ordre 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 R est un symbole de relation d’arité n
Logique du premier ordre 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)
Logique du premier ordre Calcul des prédicats Logique du premier ordre Formules
Logique du premier ordre Calcul des prédicats Logique du premier ordre
Logique du premier ordre Calcul des prédicats Logique du premier ordre
Logique du premier ordre Calcul des prédicats Logique du premier ordre
Occurrence d’une variable 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 :
Logique du premier ordre Calcul des prédicats Logique du premier ordre Occurrence libre A revoir
Caractéristiques des variables 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
Logique du premier ordre Calcul des prédicats Logique du premier ordre
Logique du premier ordre Suite en TD
Logique du premier ordre Notion de substitution
Logique du premier ordre 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
Logique du premier ordre Calcul des prédicats Logique du premier ordre Vers la notion de modèle
Vers la notion de modèle 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
Exemple d’interprétation 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, …} M’ = est la mère de Q’ = est un parent de R’ = est le grand-père de est le père de b’ = bernard c’ = charles d’ = didier e’= éric anne
Logique du premier ordre Modèle Calcul des prédicats Logique du premier ordre Modèle NB : on dit aussi que F est une tautologie.
Preuve et démonstration 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
Toutes les interprétations ? 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
Transformation de formule 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 Théorème
Logique du premier ordre Calcul des prédicats Logique du premier ordre Mise sous forme normale prénexe
Mise sous forme normale prénexe 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.
Transport des quantificateurs Calcul des prédicats Logique du premier ordre Transport des quantificateurs si H ne contient aucune occurrence de x
Logique du premier ordre Calcul des prédicats Logique du premier ordre Mise sous forme normale prénexe
Logique du premier ordre Calcul des prédicats Logique du premier ordre Mise sous forme normale prénexe En TD
Logique du premier ordre Forme de Skolem NB : lorsque les quantificateurs universels précèdent les quantificateurs existentiels, on parle de forme de Herbrand
Inversion de et de Skolemisation Calcul des prédicats Logique du premier ordre Inversion de et de Skolemisation Lorsqu’on a on remplace y par une fonction g qui à x associe y Skolemisation = expliciter l’implicite NB : On dit aussi qu’on « Skolémise » la variable y
Logique du premier ordre Forme standard de Skolem
Une représentation utile des formules : Forme clausale Calcul des prédicats Une représentation utile des formules : Forme clausale
Une représentation utile des formules : Forme clausale Calcul des prédicats Une représentation utile des formules : Forme clausale En TD
Une représentation utile des formules : Forme clausale
Logique du premier ordre Calcul des prédicats Logique du premier ordre Univers de Herbrand NB : si aucune constante n’apparaît dans C, on pose H0 = {a}.
Logique du premier ordre Calcul des prédicats Logique du premier ordre Univers de Herbrand
Logique du premier ordre Calcul des prédicats Logique du premier ordre Univers de Herbrand
Logique du premier ordre Calcul des prédicats Logique du premier ordre Univers de Herbrand
Logique du premier ordre Calcul des prédicats Logique du premier ordre Univers de Herbrand
Logique du premier ordre 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
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
Principe de résolution pour le calcul des prédicats NB : c’est le théorème de Herbrand qui nous permet ces transformations
Vocabulaire
Vocabulaire
Vocabulaire
Principe de résolution
Principe de résolution
Principe de résolution
Principe de résolution
Principe de résolution
Principe de résolution
Principe de résolution
Principe de résolution
Principe de résolution
Principe de résolution
Principe de résolution
Principe de résolution