1 niversit bn haldoun iaret U I K
1
niversité bn haldoun – iaret – (U. I. K. T) LOGIQUE DE PREMIER ORDRE: LOGIQUE DES PREDICATS PARTIE I Réalisé par : BOUALEM Adda (UIKT, TIARET) 2017, 2018
Plan du Cours- Logique 1èr Ordre Introduction 1 Définitions & Concepts 2 3 4 Plan 5 6 7 Présentation du langage du premier ordre Les expressions du langage Les Systèmes Complet de Connecteurs Champ de Quantificateur Les Variables Libres et Liées 8 3 Fermeture d’une Formule
Introduction 4
Introduction Limite de la logique des propositions p Le calcul des propositions est simple, mais ne peut pas prendre en compte la totalité de raisonnements humain. p Il ne permet pas faire allusion aux propriétés d’une variable. p Il ne permet pas, non plus de décrire des relations entre plusieurs variables. p Il leur reconnaît simplement deux états, le vrai ou le faux. Alors On va donc étudier comment généraliser le calcul des propositions afin de mieux formaliser le raisonnement. On définit un autre logique: logique du 1 er ordre (le calcul des prédicats) 5
Introduction L’informatique et la logique du premier ordre q Les langages de programmation peuvent être typés ou fortement typés. alors q On a besoin de la logique du 1 er ordre pour décrire le principe même du typage. q Les bases de données et particulièrement des langages comme SQL se fondent sur le calcul des prédicats. Objectif du chapitre p définir la logique du premier ordre p faire en parlant d’abord de la syntaxe, c’est à dire comment on écrit les formules, puis de leur sémantique. En fin la partie de démonstration (résolution) p Le calcul des prédicats, reste le formalisme le plus courant pour exprimer des propriétés mathématiques. p aussi un formalisme très utilisé en informatique pour décrire les objets : par exemple, les langages de requêtes à des bases de données sont essentiellement basés sur ce formalisme, appliqué à des objets finis, qui représentent des données. 6
Introduction L’informatique et la logique du premier ordre 7
Introduction Définitions & Concepts (Modélisation) La logique de propositions traite que les relations entre les phrases (et, ou, …), et les voire comme un tout pour permettre de juger leurs véracités (satisfiabilité, …. . ). p Dans la logique des propositions on considère une proposition comme un tout, représenté par une variable (VP), dont on ne détaille pas le contenu p On ne s’intéresse qu’à la vérité ou à la fausseté d’une proposition. La logique des prédicats, également appelée logique du premier ordre, regarde les propositions de plus près p Dans l’analyse des propositions élémentaires en langue naturelle on peut distinguer : Un Sujet (ce dont on parle) et d’éventuels Compléments Un Prédicat (ce qu’on dit à propos du sujet et de ses compléments) Exemple 1: Dans la proposition « Ali est grand » on a –Le sujet: Ali –Le prédicat: est grand 8
Introduction Définitions & Concepts (Modélisation) Exemple 2: Dans la proposition « Ali mange une pomme » on a –Le sujet: Ali --Le complément : pomme –Le prédicat: mange On pourrait réécrire les propositions précédentes sous une forme qui met en évidence le prédicat, soit : Est-grand(Ali) Un Sujet (ce dont on parle) et d’éventuels Compléments Mange (Ali, pomme) Suivant ce modèle, la logique des prédicats représente les propositions élémentaires (atomiques) sous la forme : Nom-prédicat (objet 1, objet 2, . . . , objet n) Où objet 1, objet 2, . . . , objet n sont les objets sur lesquels porte le prédicat (le sujet et ses éventuels compléments) 9
Définitions & Concepts (Modélisation) En logique des prédicats les variables représentent non pas des propositions mes des objets sur lesquels portent les prédicats. Les Variables: permet de formuler 2 types d’énoncés Les énoncés universels. Dans ce cas les variables représentent tous les objets d’un domaine. Comme Si X est une girafe alors X est un animal Les énoncés existentiels. Ici une variable représente un objet particulier du domaine, qu’on le connaisse précisément ou non. Comme dans: Il y a au moins un nombre entier Z tel que Z>3 et Z 2<30. Les Constantes : représentent des objets particuliers et connus Contrairement aux variables, les constantes représentent des objets particulier et connus : 13 (un nombre entier), Ali (une personne particulière), etc. 10
Définitions & Concepts Les Fonctions: Les Fonctions : La notion de fonction corresponde à la notion habituelle de fonction qui associe à un ou plusieurs objets (les paramètres), une valeur (le résultat de la fonction). Par exemple age(x): associe à une personne x un nombre entier (son âge) distance (x, y): qui fournit la distance entre deux villes x et y par exemple Les langages du premier ordre Un langage L du premier ordre est caractérisé par un alphabet (l’ensemble des symboles du langage) et un syntaxe (l’ensemble des règles d’écriture des expressions du langage). 11
Langage du 1èr Ordre Les langages du premier ordre Un Langage du 1èr ordre est caractérisé par un Alphabet (ensemble des symboles )et un syntaxe (ensembles des règles) pour écrire les expressions du langage L’alphabet : est formé par : Ensemble de connecteurs logique {⏋, ∧, ∨, →, ↔} Des quantificateurs ; universel (∀) et existentiel (∃) Ensemble dénombrable de symboles de variables (x 1, x 2, . . , y, z, . . . ) Ensemble dénombrable de symboles de Constantes (a 1, a 2, … b, c, . . . ) Ensemble dénombrable de symboles de Fonctions (f 0, f 1, …, f, g, h, . . . ) Ensemble dénombrable de symboles de prédicats (P 0, P 1, …, P, Q, R, . . . ) 12 A chaque symbole de fonction et de prédicat est associée un nombre d’arguments (arité) qui est un entier positif ou nul. On peut considérer que les constantes sont des fonctions 0 -aires.
Langage du 1èr Ordre Les expressions du langage L’ensemble des expressions bien formées d’un langage du premier ordre est formé de termes et des formules Un terme : est formé par : Toute constante est un terme Toute variable est un terme Si f est un symbole de fonction n_aire et t 1, t 2, . . tn sont des termes, alors f(t 1, . . tn) est un terme Aucune autre expression n’est un terme. Exemples : z, a, f(x), f(g(x)), f(a, x) sont des termes. 13
Langage du 1èr Ordre Les expressions du langage L’ensemble des expressions bien formées d’un langage du premier ordre est formé de termes et des formules Une formule: La classe des formules est définie par les règles suivantes, constitue le langage L du calcul des prédicats du premier ordre Si t 1, t 2, . . tn sont des termes de L, et P un symbole de prédicat n_aire alors P(t 1, . . tn ) est une formule de L. Si α et β sont des formules de L alors ¬α, α∨β, α∧β, α→β, α↔β (éventuellement avec des parenthèses) sont aussi des formules de L Si α est une formule et x une variable alors : ∀xα, ∃xα sont des formules de L Aucune autre expression n’est une formule. Exemple : ami(Kaddour, aissa), ennemi(x, y), ami(x, y) ↔ ⏋ennemi(x, y), ami(x, y) ∧ ⏋ennemi(x, y), ∀x ∀y ∀z ami(x, y) ∧ ami (y, z)→ami(x, z)), Sont des formules La modélisation est fausse pourquoi? Je vous laisse à réfléchir!!! 14
Langage du 1èr Ordre Priorité des connecteurs Pour éviter les ambiguïtés on fixe une priorité des connecteurs logiques selon l’ordre suivant : ⏋, ∧ , ∨, (∀, ∃), →, ↔. Le même connecteur est appliqué de gauche à droite lorsqu’il apparait plusieurs fois dans une formule. Les quantificateurs sont également appliqués de gauche à droite Exemples : ∀ x P(x) ∨ ∃ y Q(y) ∧ P(x) se lit ∀ x ( P(x) ∨ ∃ y (Q(y) ∧ P(x))) P(x) → ∃ y Q(x) ∧ R(x, x) se lit (P(x) → ∃ y (Q(x) ∧ R(x, x))) 15
Langage du 1èr Ordre Système Complet de connecteurs Un ensemble S de connecteurs est complet pour le calcul des prédicats du premier ordre si étant donnée α une formule quelconque on peut trouver une formule α’ ne contenant que les connecteurs de S et telle que α≡α’ Exemple: L’ensemble {⏋, →, ∀ } forme un système complet. (Démonstration en exercices TD). Champ d’un quantificateur Le champ d’un quantificateur est la formule encadrée par la première parenthèse ouverte à la droite du quantificateur et la parenthèse fermante correspondante. Lorsque toutes les parenthèses sont disposées. Dans les formules ci-dessous, la partie soulignée correspond au champ du quantificateur. 16
Langage du 1èr Ordre Variables libres, variables liées • Une occurrence d’une variable x dans une formule α est liée si elle se trouve dans le champ d’un quantificateur Qx ; sinon elle est libre. • Une variable x est libre dans α s’il existe dans α une occurrence libre de x. • Une variable x est liée dans α s’il existe dans α une occurrence liée de x. Exemple : Dans la formule α : ∀ y P(x, y) ∧ Q(y) → ∃ x Q(x) ∧ R(z), la variable y est liée, x est libre (la première occurrence de x est libre), x est liée (la deuxième occurrence de x est liée), z est libre (il n’y a aucune occurrence liée de z). 17
Langage du 1èr Ordre Formule Fermée Une formule fermée est une formule où toutes les variables sont liées. Par la fermeture de la formule β, on entend la formule obtenue en préfixant β de quantificateurs. 18
Langage du 1èr Ordre Substitution d’un terme à une variable Le résultat de la substitution d’un terme t à une variable v dans une formule α est la formule obtenue en remplaçant dans α toutes les occurrences libres de v par t. Cette formule que l’on notera α(t/v) est obtenue de la façon suivante: 1. α est une formule atomique: α(t/v) est la formule obtenue en remplaçant toutes les occurrences de v par t 2. α=¬β alors α(t/v) = (¬β)(t/v)= ¬β(t/v) 3. α=β 1 o β 2 alors α(t/v) = (β 1 o β 2 )(t/v)= (β 1 (t/v) o β 2 (t/v) avec o ϵ{⏋, ∧ , ∨, →, ↔} 4. α=Qyβ alors α(t/v) = 19
Langage du 1èr Ordre Substitution d’un terme à une variable (exemples) Exemple 1: α= P(x, y) et t=f(x, y) alors α(t/x)= P(f(x, y) Exemple 2: α= ∀ x P(x, y) → ∃ y Q(x, y) et t=f(x, y) alors α(t/x)= (∀ x P(x, y) → ∃ y Q(x, y) )(t/y) = ∀ x P(x, y) (t/y) → ∃ y Q(x, y)(t/y) = ∀ x P(x, y) → ∃ y Q(f(x, y) Exemple 3: α= ∀ x P(x, y) → ∃ y Q(x, y) et t=f(x, y) alors α(t/y)= (∀ x P(x, y) → ∃ y Q(x, y) )(t/y) = ∀ x P(x, y) (t/y) → ∃ y Q(x, y)(t/y) = ∀ x P(x, f(x, y)) → ∃ y Q(x, y) 20
Langage du 1èr Ordre Terme Libre pour une variable Un terme t est libre pour une variable v dans une formule α si et seulement si : 1. t ne contient pas de variables 2. α est une formule atomique 3. α=¬β et t libre pour v dans β 4. α=β 1 o β 2 et t est libre pour v dans β 1 et dans β 2 : avec o ϵ{⏋, ∧ , ∨, →, ↔} 5. α=Qyβ et v= x ou bien v#x et x ne figure pas parmi les variables de t et t est libre pour v dans β. Avec Q є{∀ , ∃ } Informellement, un terme t n’est pas libre pour une variable v dans une formule α s’il figure dans t une variable x telle que après la substitution de t à v en toutes ses occurrences libres dans α, la variable x se trouve dans le champ d’un quantificateur Qx. Ainsi dans l’exemple 2 précédent la variable y de f(x, y) étant liée par le quantificateur ∃ après substitution, le terme f(x, y) n’est pas libre pour x. dans l’exemple 3 c’est la variable x de f(x, y) qui va se trouver dans le champ du quantificateur ∀ x après substitution de f(x, y) à y. 21
Langage du 1èr Ordre Terme Libre pour une variable (exemples) Exemple 1: f(x, y) est libre pour x dans ∀ z P(x, z), car en remplaçant x par f(x, y), x et y restent libres Car le résultat de substitution donne: ∀ z P(f(x, y), z) Exemple 2: - f(z) n’est pas libre pour x dans ∀ z P(x, z) - x n’est pas libre pour y dans la formule ∃ x P(x, y) - g(x) n’est pas libre pour y dans la formule ∃ x(Q(x) v P(f(y), x)), alors que le terme t’=g(z) l’est - g(z) est libre pour y dans Q(x) v P(f(y), x) → ∀ y Q(y) 22
Langage du 1èr Ordre (exemples) 23
Langage du 1èr Ordre (exemples) 24
Langage du 1èr Ordre (exemples) Exercice 1 : pour mieux approfondir le concept de la modélisation, on propose cet exercice • Mehdi est un étudiant en 2ème année • Mehdi est un étudiant doublant • Tous les étudiants doublants sont des bavards • Kaddour est un licencier • Tous les étudiants doublants sons des amis de Kaddour • Chacun est ami à quelqu’un • Les étudiants ne détestent que les bavards auxquels ils ne sont pas fidèles • Kaddour frappe Mehdi Les prédicats suivants E(x , y) : x est un étudiant en yème année D(x) : x est un étudiant doulant B(x) : x est un bavard L(x) : x est un licencier A(x, y) : x est un ami à y T(x, y) : x déteste y F (x, y) : x est fidèle de y P (x, y) : x frappe y Les constants : m : Mehdi k : Kaddour 25
Langage du 1èr Ordre (exemples) Exercice 2 1 - Traduire les phrases suivantes en logique du premier ordre (logique de prédicats) a) Quiconque sait lire est instruit b) Les dauphins ne sont pas instruits essayer c) Certains dauphins sont intelligents d) Certains êtres intelligents ne savent pas lire e) Flipper est un dauphin f) Le frère de Flipper est intelligent 2 - a) Kaddour se prend pour la liberté b) Seuls les fous se prennent pour la liberté c) Kaddour est fou d) Quelques fous sont courageux 26
Langage du 1èr Ordre (exemples) Exercice 2 1 - a) Quiconque sait lire est instruit b) Les dauphins ne sont pas instruits c) Certains dauphins sont intelligents d) Certains créatures intelligents ne savent pas lire e) Flipper est un dauphin f) Le frère de Flipper est intelligent Prendre en considération L(x): x sait lire I(x): x est instruit C(x): x est un créateur D(x): x est un dauphin F(x, y): x est un frère de y 27
Université d’ibn khaldoun Tiaret Cours Logique Mathématique Pour l’informatique BOUALEM, 2017, 2018 Juin 2009 Mer ci
- Slides: 28