Logiques Mathématiques

Slides:



Advertisements
Présentations similaires
Les présentateurs doivent souvent transmettre des informations techniques à des auditeurs qui connaissent moins bien le sujet et le vocabulaire spécifique.
Advertisements

« 1.5. Les fonctions logiques »
Algorithmes et structures de données avancés
Spécification et qualité du logiciel
Raisonnements sur le temps : au carrefour des disciplines
Cours d'algorithmique 9 - Intranet 1 12 décembre 2006 Cours dAlgorithmique Logique de Hoare (début) : Principes et constructions élémentaires.
Séminaire Biblio LISC - 3/04/02 Complexité, information Daprès JP Delahaye (1999)
Jean-Jacques Lévy INRIA Preuves de programmes et méthodes formelles Microsoft TechDays - 9 février 2010.
La voie intuitionniste
Logique et raisonnement scientifique cours transversal Collège Doctoral Pr. Alain Lecomte.
Logique et Raisonnement Scientifique
Vers une interprétation « concrète »
Calcul propositionnel
Logique et Raisonnement Scientifique A. Lecomte Gödel et lincomplétude.
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
Logique et raisonnement scientifique
Logique et raisonnement scientifique
"Recherche de scénarios redoutés à partir d'un modèle réseau de Petri"
Méthodologie de la recherche universitaire
Graphes Conceptuels J.F. Baget Inria.
Programmation logique Logique des prédicats du premier ordre
Lambda-Calcul Sémantique de Montague
Calcul Relationnel Chapitre 4, Section 4.3.
Programmation logique Démonstrateur automatique
Rappels de logique des prédicats du 1er ordre
CSI 4506: Introduction à l’intelligence artificielle
CSI3525: Concepts des Languages de Programmation
CSI 4506: Introduction à l’intelligence artificielle
Révisions - IA Généralité: problèmes de lIA Recherche Logique Traitement de lincertitude Apprentissage Langue naturelle.
Chapitre 3 Syntaxe et sémantique.
Objectifs du chapitre 15: analyses qualitatives en psychologie
Partie II Sémantique.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Calcul Relationnel Chapitre 4, Section 4.3.
MASTER SIS, 1ere année Présentation de l'option 13 : Représentation des connaissances et raisonnement Odile PAPINI &Eric WÜRBEL
Programmation logique Le Langage PROLOG
Programmation non procédurale Le projet ECOLE 2000
Maison de l’Orient et de la Méditerranée
Introduction à la Logique (Logique I) 1ère Année
Jacques Nicolas INRIA /IRISA Rennes
Introduction à l’algèbre
Présenté par : Attia Hamza Merzouk Abdelkrim 2003/2004
Spécification de programmes et de systèmes
1 CSI 4506: Introduction à l’Intelligence Artificielle Representation et Logique II.
Programmation fonctionnelle Lambda-calcul
La Logique du premier ordre LPO
Cours n°2UE102e(S. Sidhom) UE 102e. M1.IST-IE cours n°2 Systèmes à base de règles Par : Sahbi SIDHOM MCF. Université Nancy 2 Équipe de recherche SITE –
Sémantique logique 2- sémantique de Montague
Approches Formelles en Systèmes d'information
LOGIQUE MATHEMATIQUE et ENSEMBLES
Test d'hypothèse pour des proportions:
Programmation procédurale preuves D. Preuves Preuves sur les R-algorithmes. Règle de l'appel (Hoare). Exemple Preuves sur les B-algorithmes (Floyd) Automatisation.
Raisonnements mathématiques.
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Le langage Racket (Lisp)
Introduction à l’algèbre Séminaires démultipliés 2013 Jour 2.
DU commerce éléctronique, mars Logique et fondements de l’informatique Université Paris II Michel de Rougemont
3.1 DÉTERMINANTS Cours 5.
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Programmation fonctionnelle Preuve
Logique et fondements de l’informatique
CSI 4506: Introduction à l’Intelligence Artificielle
Raisonnement et logiques
SYLLOGISMES.
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
LOGIQUE ET PROGRAMMATION LOGIQUE
Introduction à la recherche en science politique
Mathématiques pour l’informatique
La démonstration La démonstration est une forme de raisonnement qui passe par le discours sans avoir recours à l’expérience. C’est une suite logique de.
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Relation de conséquence logique Nous avons vu une relation entre formules: l’équivalence tautologique (  ) Nous allons définir une nouvelle relation,
Transcription de la présentation:

Logiques Mathématiques Leila Jemni Ben Ayed Faculté des Sciences de Tunis Département des Sciences de l’Informatique Références. - J.P. Delahaye, Outils Logiques pour l’Intelligence Artificielle, Eyrolles, Paris, 1988. - J. Vélu, Méthodes Mathématiques pour l’Informatique, Dunod, Paris, 2005. Ce cours est une introduction aux logiques mathématiques et aux techniques de déduction automatique. Il présente deux modèles de raisonnement fondés sur la logique des propositions et la logique des prédicats, permettant, d’avoir une approche mathématique de la programmation. Nous examinons la logique propositionnelle et la logique des prédicats du premier ordre. Nous discutons les liens entre les aspects formels dans ces logiques et les énoncés exprimés informellement. Différentes méthodes de preuve formelle sont présentées et appliquées.

Logique des prédicats 1. Introduction 2. Terme, atomes et formules bien formées 3. Interprétation des formules 4. Validité et inconsistance 5. Conséquence logique 6. Forme Normale Prénexe 7. Théorème de Herbrand pour la résolution

I. Introduction La logique des prédicats du premier ordre (lpr1) enrichit la logique des propositions avec 3 nouveaux concepts : termes, prédicats et quantificateurs pour pouvoir exprimer et prouver des faits et des phrases qu’on ne peut pas exprimer et prouver avec la logique des propositions. Exemples: considérons les faits suivants: P: tout homme est mortel Q: Socrate est un homme R: Socrate est mortel On peut les exprimer dans la lpr1 par : P: x (homme (x)  mortel(x)) Q: homme (Socrate) R : mortel(Socrate) Dans lpr1, R est une conséquence logique de P et Q Théorie des langages Leila Jemni Ben Ayed

I. Introduction Symbole de prédicat Symbole de fonction Rq1. Les structures de p et q ne sont pas utilisées en lp0 ce qui ne nous permet pas de déduire la conséquence Rq2. Homme(x), mortel(x) sont des prédicats Symbole de prédicat Pour représenter le fait ‘x est plus grand que 3’, on définit un symbole de prédicat d’arité 2 ‘plus_grand’. Le prédicat plus_grand(x, y) signifie que ‘x est plus grand que y’ ‘x est plus grand que 3’ est représenté par plus_grand(x, 3). Symbole de fonction Pour représenter ‘x+2’, on défoinit un symbole de fonction d’arité 2 ‘plus’. La fonction plus(x, y) représente ‘x+y’. ‘x+2’ est représenté par plus(x, 2) Le fait ‘x+1 est plus grand que x’ est représenté par : Plus_grand(plus(x, 1), x) / 1 : constante, x : variable Théorie des langages Leila Jemni Ben Ayed

2. Termes, Atomes et Formules bien formées Définition 1. Terme Les termes sont définis récursivement comme suit : Une constante est un terme Une variable est un terme Si f est un symbole de fonction n-aire et t1, t2, …tn sont des termes alors f(t1, t2, …tn) est un terme Exemple: X et 1 sont des termes, Plus est un symbole de fonction binaire alors : Plus(x, 1) est un terme et Plus(Plus(x, 1), x) est un terme qui représente (x+1) + x Logiques mathématiques Leila Jemni Ben Ayed

2. Termes, Atomes et Formules bien formées Rq1. Un prédicat associe une valeur parmi {T, F} à une liste de constantes Plus_grand (5, 3) est vraie mais plus_grand(3, 5) est fausse. Définition 2. Atome Si p est un symbole de prédicat n-aire et t1, t2, …tn sont des termes alors p(t1, t2, …tn) est un atome ou formule atomique. Avec les atomes, les connecteurs logiques et les quantificateurs  et , on peut construire des formules du calcul des prédicats. Logiques mathématiques Leila Jemni Ben Ayed

2. Termes, Atomes et Formules bien formées Exemple. Chaque nombre rationnel est un nombre réel Il existe un nombre qui est premier Pour chaque nombre x, il existe un nombre y tel que x <y On définit les symboles de prédicats suivants: N(x) qui représente ‘x est nombre’ R(x) qui représente ‘x est un nombre réel’ Q(x) qui représente ‘x est un nombre rationnel’ P(x) qui représente ‘x est un nombre premier’ Plus_petit(x, y) qui représente ‘x est plus petit que y’ Logiques mathématiques Leila Jemni Ben Ayed

2. Termes, Atomes et Formules bien formées Exemple. Chaque nombre rationnel est un nombre réel Il existe un nombre qui est premier Pour chaque nombre x, il existe un nombre y tel que x <y La formulation est la suivante 1) x (Q(x)  R(x)) 2) x P(x) 3) x y (N(x)  N(y)  plus_petit(x, y)) Logiques mathématiques Leila Jemni Ben Ayed

2. Termes, Atomes et Formules bien formées Définition 3. Portée d’un quantificateur : La portée d’un quantificateur est la formule à laquelle il s’applique. Exemple: La portée de  dans la formule  x (Q(x)  R(x)) est Q(x)  R(x) Il ya 3 occurrences de la variable x dans la formule Théorie des langages Leila Jemni Ben Ayed

2. Termes, Atomes et Formules bien formées Définition 4. Occurrence libre ou liée - Variable libre et/ou liée Les variables d’un atome sont libres dans toutes leurs occurrences Si A est de la forme (BC), (BC), (BC), (B) alors une occurrence d’une variable est liée dans A SSI elle était liée dans la formule B ou C Si une formule A est de la forme (x) B ou (x) B alors une occurrence d’une variable est liée dans A si cette variable est x ou si cette occurrence est liée dans la sous formule B. Théorie des langages Leila Jemni Ben Ayed

2. Termes, Atomes et Formules bien formées Occurrence libre ou liée - Une occurrence d’une variable x dans une formule est liée ssi cette occurrence est dans la portée d’un quantificateur employant x ou elle est l’occurrence du quantificateur. Une occurrence d’une variable est libre si cette occurrence n’est pas liée. Variable libre et/ou libre - Une variable est libre dans une formule si au moins une occurrence de cette variable est libre dans la formule Une variable est liée si au moins une occurrence de cette variable est liée Formule fermée. Si une formule F ne contient pas de variables libre alors F est une formule fermée. Théorie des langages Leila Jemni Ben Ayed

2. Termes, Atomes et Formules bien formées Exemple: ( x) P(x, y) Les deux occurrences de x sont liées donc la variable x est liée. La seule occurrence de y est libre donc la variable y est libre ( x) P(x, y)(y) Q(y) La variable y est libre et liée dans cette formule Théorie des langages Leila Jemni Ben Ayed

2. Termes, Atomes et Formules bien formées Définition 5. Formule bien formée de lpr1 Les formules bien formées de la logique des prédicats sont définies récursivement comme suit: Un atome est une formule Si F et G sont des fbf alors (F), (FG), (FG), (FG) et (FG) sont des fbf Si F est une fbf et x est une variable libre dans F alors (x) F et (x) F sont des fbf Théorie des langages Leila Jemni Ben Ayed

2. Termes, Atomes et Formules bien formées Exemple. Soient les axiomes de base pour les entiers naturels sont: (A1) Chaque entier admet un et un seul successeur (A2) Il n’y a aucun entier ayant 0 comme successeur (A3) Pour tout entier non nul, il ya un et un seul prédécesseur Exprimer formellement ces inoncés On définit les symboles suivants: Succ(x) : Successeur de l’entier x Pred(x) : prédecessur de l’entier x) Egal(x, y) : l’entier x est égal à l’entier y (A1) (x) (y) (E(y, succ(x)(z)(E(z, suc(x))  E(y, z))) (A2)  (x E(0, succ(x))) (A3) x (E(x, 0)  (y(E(y, pred(x))  z(E(z, pred(x))  E(y, z)))) Théorie des langages Leila Jemni Ben Ayed

3. Interprétation des formules Définition 6. Une interprétation d’une formule F consiste en un ensemble non vide D et une affectation d’une ‘valeur’ à chaque constante, symbole de fonction et symbole de prédicat apparaissant dans F comme suit : 1- On affecte un élément de D à chaque constante 2- On affecte une fonction de Dn  D à chaque symbole de fonction n-aire 3- On affecte une fonction de Dn  {T, F} à chaque symbole de prédicat n-aire D est appelé domaine d’interprétation de F Rq. Pour n= 0, un symbole de fonction 0-aire dénote un élément de D et un symbole de prédicat 0-aire dénote une valeur de vérité dans {T, F} Théorie des langages Leila Jemni Ben Ayed

3. Interprétation des formules Quand on évalue la valeur de vérité d’une formule dans une interprétation avec le domaine D, (x) est interprété par ‘pour tout élément x de D’ (x) est interprété par ‘il existe un élément x  D’. Pour toute interprétation d’une formule A dans un domaine D, A est évaluée à T ou F selon les règles suivantes : 1) Si on connaît la valeur de vérité de G et H alors les valeurs de vérité des formules G, GH, GH, GH et GH est obtenue conformément aux règles d’évaluation des formules de lp0 2) (x) G est évaluée à T si G est évaluée à T pour tout élément  D sinon elle est évaluée à F. 3) (x) G est évaluée à T si G est évaluée à T pour au moins un élément de D sinon elle est évaluée à F Rq. Une formule contenant un variable libre ne peut pas être évaluée. Théorie des langages Leila Jemni Ben Ayed

3. Interprétation des formules Exemple. G : (x) (p(x)  q(f(x), a)) Considérons l’interprétation I suivante: D = {1, 2}, a= 1, f(1) = 2, f(2) = 1 p(1) = F, p(2) = T, q(1,1) = T, q(1, 2) = T, q(2, 1) = F et q(2, 2) = T L’évaluation de G donne la valeur vraie (T) En effet: Si x = 1 alors p(x)  q(f(x), a) = p(1)  q(f(1), a) = p(1)  q(2, 1) = F  F = T Si x = 2 alors p(x)  q(f(x), a) = p(2)  q(f(2), a) = p(2)  q(1, 1) = T  T = T Nous avons ainsi p(x)  q(f(x), a) vraie  x  D Alors (x) (p(x)  q(f(x), a)) est vraie Théorie des langages Leila Jemni Ben Ayed

4. Validité et inconsistance Définition 7. Une formule G est consistante (satisfiable) ssi il existe une interprétation I / G est évaluée à T dans I. I est dit un modèle de G et I satisfait G - Une formule G est inconsistante (insatisfiable) ssi il n’existe aucune interprétation satisfaisant G Une formule G est valide ssi chaque interprétation I de G satisfait G Rq. Le pb de validité consiste à trouver un algorithme qui décide si une formule donnée est valide ou non. Le problème de validté admet une solution dans lp0 Le problème de validité admet une solution partielle dans la lpr1 Le pb de validité n’admet pas de solution dans les lpr d’ordre supérieur. Validité partielle : algorithme répond par oui si la formule est valide et Boucle infinie u répond par non si la formule n’est pas prouvée valide. Théorie des langages Leila Jemni Ben Ayed

5. Conséquence logique Définition 8. Une formule G est une conséquence sémantique ou logique des formules F1, F2, … Fn ssi pour chaque interprétation I, si F1  F2  … Fn est vraie dans I alors G est aussi vraie dans I. On le note par : F1, F2, … Fn |= G Exemple : F1: (x) (p(x)  q(x)) F2 : p(a) Mq {F1, F2} |= q(a) Soit une interprétation I qui satisfait F1: (x) (p(x)  q(x)) et F2 : p(a), Mq q(a) est vraie dans I Supposons q(a) n’est pas T dans I  p(a)  q(a) est F dans I  p(a)  q(a) est F dans I  (x) (p(x)  q(x)) est F dans I ce qui est impossible donc q(a) doit être vraie dans chaque interprétation qui satisfait (x) (p(x)  q(x))  p(a) Théorie des langages Leila Jemni Ben Ayed

5. Conséquence logique Définition 8. Une formule G est une conséquence sémantique ou logique des formules F1, F2, … Fn ssi pour chaque interprétation I, si F1  F2  … Fn est vraie dans I alors G est aussi vraie dans I. On le note par : F1, F2, … Fn |= G Exemple : F1: (x) (p(x)  q(x)) F2 : p(a) Mq {F1, F2} |= q(a) Soit une interprétation I qui satisfait F1: (x) (p(x)  q(x)) et F2 : p(a), Mq q(a) est vraie dans I Supposons q(a) n’est pas T dans I  p(a)  q(a) est F dans I  (x) (p(x)  q(x)) est F dans I ce qui est impossible donc q(a) doit être vraie dans chaque interprétation qui satisfait (x) (p(x)  q(x))  p(a) Théorie des langages Leila Jemni Ben Ayed

5. Forme Normale Prénexe Pour simplifier la procédure de preuve de validité Définition 9. Une formule est dite sous forme normale prenexe (FNP) si elle est de la forme (Q1x1)(Q2x2) …(Qnxn) (M) où Où Qi est soit  soit  et M une formule sans quantificateur. (Q1x1)…(Qnxn) est appelé préfixe M est appelée Mantice Exemple: (x) (y) (p(x, y)  q(x)) Dans le calcul des prédicats, il ya en général un nombre infini de domaines et un nombre infini d’interprétations. On ne peut donc vérifier la validité ou l’inconsistance d’une formule en l’évaluant dans toute ses interprétations possibles. Nous verrons une procédure de preuve automatique. Théorie des langages Leila Jemni Ben Ayed

5. Forme Normale Prénexe Pour simplifier la procédure de preuve de validité Formules équivalentes * Soit F une formule contenant une variable libre x, qu’on note par F[x]. Soit G une formule ne contenant pas la variable x et Q un quantificateur. 1.a. (Qx) F[x]  G = (Qx) (F[x]  G) 1.b. (Qx) F[x]  G = (Qx) (F[x]  G) 1.c. ((x)F[x]) = (x)(F[x]) 1.d. ((x)F[x]) = (x)(F[x]) Considérons 2 formules F[x] et H[x] contenant la variable x (x) F[x]  (x) H[x] = (x)(F[x]  H[x]) (x) F[x]  (x) H[x] = (x) (F[x]  H[x]) Théorie des langages Leila Jemni Ben Ayed

5. Forme Normale Prénexe Pour simplifier la procédure de preuve de validité Formules équivalentes Rq* (x) F[x]  (x) H[x])  (x)(F[x]  H[x]) (x) F[x]  (x) H[x])  (x) (F[x]  H[x]) On peut par contre renommer les variable s pour pouvoir les transformer: (x) F[x]  (x) H[x]) = (x) F[x]  (z) H[z]) = (x) (z)(F[x]  H[z]) 1.a. (x) F[x]  (x) H[x]) = (x) F[x]  (z) H[z]) = (x) (z) (F[x]  H[z]) 1.b. Théorie des langages Leila Jemni Ben Ayed